安卓手机使用Termux运行java环境
前言
该文章为使用安卓手机安装Termux高级终端后,运行完整的Java开发环境,其中的内容参考多篇文章以及结合自己实际操作后,确认可行后,整理并发布,如有侵权请联系删除
Termux高级终端下载地址:(推荐F-Droid下载)
F-Droid下载
Google Play下载
使用官方提供的JDK
使用termux提供的jdk是要简单许多的,我们只需要引入2个命令即可
命令如下:
查询官方提供的JDK
pkg search jdk
这个命令会查找官方提供的jdk的版本安装JDK
pkg install openjdk-17
具体的版本以步骤1查询到的版本为准验证安装是否成功
java -version
如果输出jdk版本即为安装成功,不过该方式只能安装官方提供的版本,如果安装自己需要的某个版本的jdk,就需要使用以下方法了
一、完成termux端相关配置
1. 更换镜像源
官方的源在国内下载速度有些慢,可以尝试更换为清华源,卡住的话多按几次回车 不要傻乎乎的等,如下:
sed -i 's@^\(deb.*stable main\)$@#\1\ndeb https://mirrors.tuna.tsinghua.edu.cn/termux/termux-packages-24 stable main@' $PREFIX/etc/apt/sources.listsed -i 's@^\(deb.*games stable\)$@#\1\ndeb https://mirrors.tuna.tsinghua.edu.cn/termux/game-packages-24 games stable@' $PREFIX/etc/apt/sources.list.d/game.listsed -i 's@^\(deb.*science stable\)$@#\1\ndeb https://mirrors.tuna.tsinghua.edu.cn/termux/science-packages-24 science stable@' $PREFIX/etc/apt/sources.list.d/science.listpkg update
2.安装相应的依赖
如果没有root权限可以将tsu更换为 termux-chroot
pkg install zsh tsu wget curl vim git openssh -y
3.创建手机Download目录的软链接
3.1授予termux读取文件的权限
termux-setup-storage
执行成功后,会在home下生成一个 storage/ 目录,其中storage/shared/ 目录就是手机存储的根目录
3.2创建手机存储目录的软连接
创建软连接的目的是为了方便我们后续的使用,如果没有软连接,我们可能需要一长串的命令来完成一个文件的操作,创建软连接的操作如下:
ln -s storage/shared/Download/ download
执行成功后目录如下:
4.创建ssh连接
此操作主要是为了方便后续操作,因为手机敲命令确实不如电脑来的方便,从具体操作如下:
4.1安装openssh依赖(已安装请忽略)
命令如下:
pkg install openssh
4.2电脑端生成ssh连接密钥
电脑进入cmd进入命令行模式后执行:
ssh-keygen
执行完毕之后,可以在C:/User/用户/.ssh中看到一个my_rsa和my_rsa.pub文件,把my_rsa.pub文件拷贝到手机外部存储根目录中,即storage/shared
4.3在termux中添加公钥信息
需要先确保my_rsa.pub存在于storage/shared/目录下,进入手机Termux。依次输入以下命令:
#进入home目录
cd ~#拷贝公钥信息
cp storage/shared/my_rsa.pub ./.ssh#进入.ssh目录
cd ~/.ssh#设置公钥信息
cat my_rsa.pub >> authorized_keys
至此,已添加公钥信息到手机
4.4确认termux的登录名和ip
确认ip ip addr
确认用户名 whoami
设置密码:passwd
(注意:在输入密码的时候是看不到的)
4.5电脑连接手机termux
直接命令行连接
ssh 用户名@ip -p 8022
其中用户名是在上面查询到的termux当前用户,ip是上面查询到的termux当前ip地址,8022是ssh连接的端口号xshell连接
新建会话,属性如下:
5.下载安装JDK
5.1下载jdk
可以自行在Oracle官网下载自己需要的jdk版本,注意选择linux-aarch64的版本,也可以选择楼主提供的jdk1.8的版本,连接如下:
jdk-8u301-linux-aarch64.tar
5.2将安装包传输到termux中
将压缩包移动到手机存储根目录,即storage/shared/Download 目录
进入termux中,将jdk压缩包拷贝到termux的home目录下
命令如下:
cp download/jdk-8u301-linux-aarch64.tar.gz ~
解压jdk
tar -zxvf jdk-8u301-linux-aarch64.tar.gz
获取jdk的安装目录
命令如下:
cd ~/jdk1.8.0_301/
(进入解压出来的jdk目录中)
pwd
(输出当前目录位置)记下第4步获取到的文件目录
如:/data/data/com.termux/files/home/jdk1.8.0_301先安装linux,暂不设置环境变量
6.安装linux系统
6.1安装 安装proot-distro
pkg install proot-distro
目前,它支持以下发行版:
Alpine Linux(别名:alpine)-最小的可用发行版。
Arch Linux(别名:archlinux)
Debian 10 Buster(别名:debian-buster)
Kali Nethunter(别名:nethunter)-当前只有最小的构建。
Ubuntu(别名:ubuntu)
6.2安装发行版(假设已安装proot-distro)
proot-distro install <alias>
此次我选择安装Ubuntu,执行如下命令:
proot-distro install ubuntu
我的执行结果如下:
[*] Installing Ubuntu (20.04)...
[*] Creating directory '/data/data/com.termux/files/usr/var/lib/proot-distro/installed-rootfs/ubuntu'...
[*] Creating directory '/data/data/com.termux/files/usr/var/lib/proot-distro/dlcache'...
[*] Downloading rootfs tarball...% Total % Received % Xferd Average Speed Time Time Time CurrentDload Upload Total Spent Left Speed0 0 0 0 0 0 0 0 --:--:-- -100 639 100 639 0 0 867 0 --:--:-- --:--:-- --:--:-- 8680 0 0 0 0 0 0 0 --:--:-- - 0 29.6M 0 0 0 0 0 0 --:--:-- 2 29.6M 2 736k 0 0 253k 0 0:01:59 29 29.6M 29 8864k 0 0 2270k 0 0:00:13 66 29.6M 66 19.8M 0 0 4134k 0 0:00:07 100 29.6M 100 29.6M 0 0 5238k 0 0:00:05 0:00:05 --:--:-- 6238k[*] Checking integrity, please wait...
[*] Extracting rootfs, please wait...
[*] Writing '/data/data/com.termux/files/usr/var/lib/proot-distro/installed-rootfs/ubuntu/etc/profile.d/termux-proot.sh'...
[*] Writing resolv.conf file (NS 1.1.1.1/1.0.0.1)...
[*] Writing hosts file...
[*] Registering Android-specific UIDs and GIDs...
[*] Running distro-specific configuration steps...
gvfs-daemons set on hold.
udisks2 set on hold.
[*] Installation finished.Now run 'proot-distro login ubuntu' to log in.
6.3运行linux,命令如下:
proot-distro login ubuntu
6.4启动方式优化
每次启动都要执行命令启动,着实有些难受,我们可以写一个启动脚本,这样我们之后需要启动时候执行脚本就行了。
vi ~/linux-start.sh
输入i ,进入编辑模式,将启动脚本复制进去,使用 :wq 命令保存并退出即可,脚本如下:
#!/bin/bashecho "linux running...."#这里放具体的启动命令即可
proot-distro login ubuntu
6.5给启动脚本设置可执行权限
chmod +x ~/linux-start.sh
6.6启动linux系统
执行命令:./linux-start.sh
7.配置JDK环境
注意:该操作必须是在linux系统中了,请先确认是否已经启动linux系统
7.1设置jdk环境
- 确认是否为root用户
- 设置jdk环境变量,命令如下:
vi /etc/profile
- 输入i 进入编辑模式
- 在文件末尾添加一下内容
#java的根目录,这里的值是在5.2的第6步中获取到的
export JAVA_HOME=/data/data/com.termux/files/home/jdk1.8.0_301 #默认值填 . 即可
export CLASS_PATH=. #设置Java的path地址
export PATH=$PATH:$JAVA_HOME/bin
- 确认无误后,按下 Esc键,并输入 :wq 保存并退出
- 执行以下命令,重新加载配置文件
source /etc/profile
- 输入命令,确认java是否配置完成
java -version
如果输出一下内容则表示,java环境配置完成
8.传输文件到Linux
配置完JDK,肯定要试一把了,下一步就是把编译好的jar包或许war包,放到Linux环境运行了,最好是先在手机上把所有文件都处理好,比如都放在一个压缩包里,名字叫test.zip(名字什么的无所谓,看你个人),其余步骤如下
第一步: 将需要上传的test.zip文件存放到手机的Download目录下
第二步: Linux上新建用于接收文件的临时文件夹
我的个人习惯是会新建两个文件夹 /app用于存放java程序,/app/temp 用于存放临时文件
mkdir -p /app/temp
第三步: 将手机上的文件移动到Linux中
使用以下命令即可完成文件的移动
mv /data/data/com.termux/files/home/download/test.zip /app/temp
执行该命令前,需要确认,已经按照步骤3生成了手机Download目录到termux的download文件夹的软连接,如果没有,请使用以下命令:
mv /data/data/com.termux/files/home/storage/shared/Download/test.zip /app/temp
执行了以上任意一条命令即可将手机Download目录下的test.zip移动到Linux的临时文件夹中第四步: 解压缩压缩包
解压缩将移动过来的压缩包
unzip -o test.zip -d /app
该命令意思为:将test.zip解压到/app目录下,并且覆盖已有文件第五步: 进入到/app下,运行解压出来的项目即可
二、其他配置
ps:此操作来自于国光个人博客:原文链接
1.安装oh-my-zsh
这个插件可以美化高级终端,帮助我们敲命令更方便,也会自动集成一些命令比如la、ll等等
1.1 使用oh-my-zsh官网的一键安装脚本
如果这种方式不行,可以使用第二种方式
sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
1.2 使用termux-ohmyzsh的脚本
sh -c "$(curl -fsSL https://github.com/Cabbagec/termux-ohmyzsh/raw/master/install.sh)"
2.Termux系统备份与恢复
2.1备份
确保已经获取了存储访问的权限,如果没有获取的话,执行以下命令来重新获取访问权限:
termux -setup -storage
然后去 Termux 根目录下:
cd /data/data/com.termux/files
备份配置文件为 termux-backup.tar.gz:
tar -zcf /sdcard/termux-backup.tar.gz home usr
备份应该完成,没有任何错误。除非用户滥用 root 权限,否则不应有任何权限拒绝。
警告:不要将备份文件存储在 Termux 私有目录中,因为从设置中清除 Termux 数据后,这些目录也将被删除。
2.2 恢复
这里假设您已将 Termu 之前备份的 home 和 usr 目录备份到同一个备份文件中。请注意,在此过程中所有文件都将被覆盖现有的配置:
确保已经获取了存储访问的权限,如果没有获取的话,执行以下命令来重新获取访问权限:
termux -setup -storage
然后去 Termux 根目录下:
cd /data/data/com.termux/files
解压提取之前备份的内容,覆盖现存的文件并删除之前的备份文件:
tar -zxf /sdcard/termux-backup.tar.gz --recursive-unlink --preserve-permissions
操作完成重启 Termux 即可恢复数据。
安卓手机使用Termux运行java环境相关推荐
- java怎么运行安卓程序_在安卓手机上怎么运行java的应用程序
展开全部 一. 安装baiJAVA程序方法: 1.在du网站上搜索一个zhiAPK格式的JAVA虚拟机dao,下载安装回程序后答安装在手机上, 安装后手机上"所有程序"中增加此 ...
- termux安装java_把安卓手机性能发挥到极致之-Termux运行Java及性能测试
(一)常规思路 由于Termux团队的设计理念,默认情况下JDK是不能安装进Termux的(当然有替代的安装方案,太麻烦,我就不用了),所以ecj成为代替品.由于安卓不认识.class文件,还需要安装 ...
- 基于安卓手机使用Termux搭建web服务器教程
基于安卓手机使用Termux搭建web服务器教程 一.软件的准备 Termux Android5.0以上的手机(最好root) Xshell 6(windows软件) 二.前期Termux的设置与安装 ...
- 安卓手机使用Termux软件进行Linux系统的安装
安装前的准备:我们需要三个软件,分别是Anlinux(用于获取linux系统,这里我们选择Ubuntu系统),Termux(模拟Linux环境),旋风加速器(因为Termux的下载源在国外,所以我们需 ...
- 安卓手机使用termux搭建centos7个人博客服务器
安卓手机搭建centos7个人博客服务器 介绍 安卓termux下实现centos7搭建个人博客服务器 hexo-boot 是开源项目有兴趣的可以去gitee或者Githup获取源码自己打包编译 资源 ...
- 安卓手机使用Termux搭建web服务器(含frp内网穿透、wake on lan远程唤醒)
前言 想做一台可以外网访问局域网的服务器,没有群晖或者软路由,正好有一台闲置的nova4,查阅了一些资料后就在手机上搭了一个服务器,有闲心的可以试一试... 目录 一.环境准备 二.使用步 ...
- 安卓手机通过termux免root安装kali
1.安装termux 上githubReleases · termux/termux-app · GitHub下载 下载链接 https://github.com/termux/termux-app/ ...
- 安卓手机通过TERMUX安装METAPLOIT
运行pkg install metaploit提示无法安装,可通过以下代码解决该问题. curl -LO https://github.com/termux/termux-packages/files ...
- termux运行python文件知乎_(萌新、小白看过来!)最详细、完整的基于安卓手机使用Termux搭建web服务器教程!...
三.Termux搭建WEB服务器所需的软件及配置(分3步,Termux中下载) 1.php a.下载php pkg install php b.开启php自带的web服务器并指定建站系统文件夹(-t ...
最新文章
- AlphaGo之后,DeepMind重磅推出AlphaFold:基因序列预测蛋白质结构
- MySQL 和 Innobackup 不定期卡住的秘密
- linux下将硬件时钟调整为与本地时钟一致
- 新时代营销解决方案:敏捷BI助力银行高效精准营销
- 鸿蒙手表esim,鸿蒙手表终于来了!或将支持 eSIM,实现独立通话
- Thinkphp宅音乐html5在线音乐播放器
- JVM内存划分、Linux用户态、内核态简介
- 关于AdvancedDataGrid的header的数据传递
- Spring IoC反转控制的快速入门
- 各种VS Code的学习秘诀,全是这六条法则撑起的!
- PTA 7-28猴子选大王(约瑟夫问题)
- Delta, Hudi, Iceberg对比
- pytorch入门篇1 创建tensor
- windows10 javac错误:javac不是内部或外部命令 也不是可运行的程序
- mysql 唯一序列号_利用mysql生成唯一序号
- 江阴长泾/江阴各乡镇到无锡汽车客运站/无锡东站/硕放机场站快捷班车的购票方法
- Mixlab设计黑客Shadow,做客光点TALK
- 电源设计1【测试方法、LDO】
- 基于asp.net172电影视频点播分享网站
- 宅急送系统c语言,基于web的宅急送物流管理系统(完整源码+论文全套+教学视频)...