失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 安卓手机使用Termux运行java环境

安卓手机使用Termux运行java环境

时间:2021-08-31 17:15:51

相关推荐

安卓手机使用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./termux/termux-packages-24 stable main@' $PREFIX/etc/apt/sources.listsed -i 's@^\(deb.*games stable\)$@#\1\ndeb https://mirrors.tuna./termux/game-packages-24 games stable@' $PREFIX/etc/apt/sources.list.d/game.listsed -i 's@^\(deb.*science stable\)$@#\1\ndeb https://mirrors.tuna./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

确认ipip 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 TimeTime CurrentDload Upload Total Spent Left Speed00 00 0000 --:--:-- -100 639 100 639 00 8670 --:--:-- --:--:-- --:--:-- 86800 00 0000 --:--:-- - 0 29.6M 00 0000 --:--:-- 2 29.6M 2 736k 00 253k0 0:01:59 29 29.6M 29 8864k 00 2270k0 0:00:13 66 29.6M 66 19.8M 00 4134k0 0:00:07 100 29.6M 100 29.6M 00 5238k0 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 /robbyrussell/oh-my-zsh/master/tools/install.sh)"

1.2 使用termux-ohmyzsh的脚本

sh -c "$(curl -fsSL /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环境》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。