前言

该文章为使用安卓手机安装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.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

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

  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 即可恢复数据。

安卓手机使用Termux运行java环境相关推荐

  1. java怎么运行安卓程序_在安卓手机上怎么运行java的应用程序

    展开全部 一.   安装baiJAVA程序方法: 1.在du网站上搜索一个zhiAPK格式的JAVA虚拟机dao,下载安装回程序后答安装在手机上, 安装后手机上"所有程序"中增加此 ...

  2. termux安装java_把安卓手机性能发挥到极致之-Termux运行Java及性能测试

    (一)常规思路 由于Termux团队的设计理念,默认情况下JDK是不能安装进Termux的(当然有替代的安装方案,太麻烦,我就不用了),所以ecj成为代替品.由于安卓不认识.class文件,还需要安装 ...

  3. 基于安卓手机使用Termux搭建web服务器教程

    基于安卓手机使用Termux搭建web服务器教程 一.软件的准备 Termux Android5.0以上的手机(最好root) Xshell 6(windows软件) 二.前期Termux的设置与安装 ...

  4. 安卓手机使用Termux软件进行Linux系统的安装

    安装前的准备:我们需要三个软件,分别是Anlinux(用于获取linux系统,这里我们选择Ubuntu系统),Termux(模拟Linux环境),旋风加速器(因为Termux的下载源在国外,所以我们需 ...

  5. 安卓手机使用termux搭建centos7个人博客服务器

    安卓手机搭建centos7个人博客服务器 介绍 安卓termux下实现centos7搭建个人博客服务器 hexo-boot 是开源项目有兴趣的可以去gitee或者Githup获取源码自己打包编译 资源 ...

  6. 安卓手机使用Termux搭建web服务器(含frp内网穿透、wake on lan远程唤醒)

    前言 想做一台可以外网访问局域网的服务器,没有群晖或者软路由,正好有一台闲置的nova4,查阅了一些资料后就在手机上搭了一个服务器,有闲心的可以试一试... 目录 ​​​​​ 一.环境准备 二.使用步 ...

  7. 安卓手机通过termux免root安装kali

    1.安装termux 上githubReleases · termux/termux-app · GitHub下载 下载链接 https://github.com/termux/termux-app/ ...

  8. 安卓手机通过TERMUX安装METAPLOIT

    运行pkg install metaploit提示无法安装,可通过以下代码解决该问题. curl -LO https://github.com/termux/termux-packages/files ...

  9. termux运行python文件知乎_(萌新、小白看过来!)最详细、完整的基于安卓手机使用Termux搭建web服务器教程!...

    三.Termux搭建WEB服务器所需的软件及配置(分3步,Termux中下载) 1.php a.下载php pkg install php b.开启php自带的web服务器并指定建站系统文件夹(-t ...

最新文章

  1. AlphaGo之后,DeepMind重磅推出AlphaFold:基因序列预测蛋白质结构
  2. MySQL 和 Innobackup 不定期卡住的秘密
  3. linux下将硬件时钟调整为与本地时钟一致
  4. 新时代营销解决方案:敏捷BI助力银行高效精准营销
  5. 鸿蒙手表esim,鸿蒙手表终于来了!或将支持 eSIM,实现独立通话
  6. Thinkphp宅音乐html5在线音乐播放器
  7. JVM内存划分、Linux用户态、内核态简介
  8. 关于AdvancedDataGrid的header的数据传递
  9. Spring IoC反转控制的快速入门
  10. 各种VS Code的学习秘诀,全是这六条法则撑起的!
  11. PTA 7-28猴子选大王(约瑟夫问题)
  12. Delta, Hudi, Iceberg对比
  13. pytorch入门篇1 创建tensor
  14. windows10 javac错误:javac不是内部或外部命令 也不是可运行的程序
  15. mysql 唯一序列号_利用mysql生成唯一序号
  16. 江阴长泾/江阴各乡镇到无锡汽车客运站/无锡东站/硕放机场站快捷班车的购票方法
  17. Mixlab设计黑客Shadow,做客光点TALK
  18. 电源设计1【测试方法、LDO】
  19. 基于asp.net172电影视频点播分享网站
  20. 宅急送系统c语言,基于web的宅急送物流管理系统(完整源码+论文全套+教学视频)...

热门文章

  1. 【uni-app高级实战】手把手带你学习一个纯实战复杂项目的开发1/100
  2. 电脑同时开有线和无线,优先使用哪个?
  3. 可视化大屏设计尺寸_UI设计中大屏可视化设计尺寸指南
  4. 酒越陈越醇,OPPO Reno越更越香
  5. 数据分析——人力资源
  6. debian宝塔界面安装php失败,debian-live-8.7.1 安装失败求助
  7. 人生感悟|写在四月底
  8. 前端微信二维码不显示
  9. 用Python编写斐波那契数列(Fibonacci Sequence)
  10. Python二级--命运-3