前言

该文章为使用安卓手机安装Termux高级终端后,运行完整的Java开发环境,其中的内容参考多篇文章以及结合自己实际操作后,确认可行后,整理并发布,如有侵权请联系删除

Termux高级终端下载地址:(推荐F-Droid下载)
F-Droid下载
Google Play下载

使用官方提供的JDK

使用termux提供的jdk是要简单许多的,我们只需要引入2个命令即可
命令如下:

  1. 查询官方提供的JDK
    pkg search jdk
    这个命令会查找官方提供的jdk的版本

  2. 安装JDK
    pkg install openjdk-17
    具体的版本以步骤1查询到的版本为准

  3. 验证安装是否成功
    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.list

sed -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.list

sed -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.list

pkg 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

  1. 直接命令行连接
    ssh 用户名@ip -p 8022
    其中用户名是在上面查询到的termux当前用户,ip是上面查询到的termux当前ip地址,8022是ssh连接的端口号

  2. xshell连接
    新建会话,属性如下:
    在这里插入图片描述
    在这里插入图片描述

5.下载安装JDK

5.1下载jdk

可以自行在Oracle官网下载自己需要的jdk版本,注意选择linux-aarch64的版本,也可以选择楼主提供的jdk1.8的版本,连接如下:

jdk-8u301-linux-aarch64.tar

5.2将安装包传输到termux中

  1. 将压缩包移动到手机存储根目录,即storage/shared/Download 目录

  2. 进入termux中,将jdk压缩包拷贝到termux的home目录下
    命令如下:
    cp download/jdk-8u301-linux-aarch64.tar.gz ~

  3. 解压jdk
    tar -zxvf jdk-8u301-linux-aarch64.tar.gz

  4. 获取jdk的安装目录
    命令如下:
    cd ~/jdk1.8.0_301/ (进入解压出来的jdk目录中)
    pwd (输出当前目录位置)

  5. 记下第4步获取到的文件目录
    如:/data/data/com.termux/files/home/jdk1.8.0_301

  6. 先安装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  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- -100   639  100   639    0     0    867      0 --:--:-- --:--:-- --:--:--   868
  0     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/bash

echo "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环境

  1. 确认是否为root用户
  2. 设置jdk环境变量,命令如下:
    vi /etc/profile
  3. 输入i 进入编辑模式
  4. 在文件末尾添加一下内容
#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 即可恢复数据。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐