1
0
Files
frost-zx.github.io/docs/content/termux-jdk.md
2025-10-13 10:20:34 +08:00

238 lines
13 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
title: "「教程」在 Termux 中安装任意版本的 JDK"
date: 2025-03-16T15:43:12Z
lastmod: 2025-03-16T15:45:51Z
tags: [教程,Android,Java,JDK,Termux]
---
# 「教程」在 Termux 中安装任意版本的 JDK
## 简介
- 主要通过在 Termux 中安装系统的方式实现,本教程以安装 Ubuntu 系统为例。
- 本教程基于 MIUI 12Android 11并在 Mokee 100.0Android 10中测试通过。
- 本教程中可能会存在描述不准确的地方,欢迎各位在评论区中指出。
- 建议您在有一定的 Linux 命令行操作经验的情况下阅读本教程。
- 建议在开始阅读前先大致浏览一遍本教程的内容,了解大概步骤。
## 准备
### 软件下载
- [Termux - 本体](https://f-droid.org/zh_Hans/packages/com.termux/)
- [AnLinux - 获取系统安装脚本](https://f-droid.org/zh_Hans/packages/exa.lnx.a/)
- [MT管理器 - 管理文件,可用其他类似软件代替](https://coolapk.com/apk/bin.mt.plus)
### 相关链接
- [Adoptium用于下载 JDK](https://adoptium.net/)
- [离线安装系统用文件密码9hac](https://frost-zx.lanzoul.com/b00p69g4b/)
## 启动 Termux & 安装相关的软件包
1. 启动 Termux等待初始化完成仅在第一次启动时
2. 执行 `pkg update` 命令,更新软件包信息。
可能会出现类似这样的提示,如果没有手动修改过提示中的文件,
可以输入 `Y`​,否则输入 `N`​,然后点击 `ENTER`​。
![初始化](assets/network-asset-pkg_update-20250316154503-v6p17lv.jpg "初始化")
3. 执行 `pkg install openssl-tool proot vim wget -y` 命令安装4个软件包。
## 安装系统
### 方式一、在线安装
> 此方式需要访问位于海外的服务器,因此对网络环境的要求较高。
> 如果网络不稳定,建议参考离线安装方式进行操作。
1. 打开 AnLinux选择需要安装的系统。
![在线安装](assets/network-asset-A01_AnLinux_Panel-20250316154503-5qp14m5.jpg "在线安装")
2. 复制软件给出的安装命令。
![在线安装](assets/network-asset-A02_AnLinux_Ubuntu-20250316154503-pqddget.jpg "在线安装")
3. 在 Termux 中执行 `cd ~` 命令,切换工作目录到 `home` 文件夹。
然后粘贴复制的命令,等待脚本自动完成安装操作。
如果网络状况不稳定,可能会出现安装失败或文件下载失败的情况。
一般来说,如果在输出的内容中已经出现 `Resolving...`​、`Connecting...` 之类的提示,则表示命令前方部分的 `pkg install` 部分已执行成功,但在后方部分的 `wget` 下载安装脚本或 Rootfs 文件的过程中出现错误。
![在线安装](assets/network-asset-A03_1_fail-20250316154503-31kfbli.jpg "在线安装")
![在线安装](assets/network-asset-A03_2_fail-20250316154503-jiwqkc3.jpg "在线安装")
如果文件下载失败(输出的内容中有类似 `Connection timed out`​、`Unable to establish connection`​、`Unexpected EOF in archive` 的提示),则执行 `ls -a` 命令,查看是否存在 `start-ubuntu.sh`​、`ubuntu.sh`​、`ubuntu-rootfs.tar.gz`​、`ubuntu-binds`​、`ubuntu-fs` 这几个文件(文件夹)。如果存在则执行 `rm -rf <文件名>` 命令将其删除(也可以直接执行 `rm -rf *ubuntu*` 命令),才能再次执行复制的命令,否则可能会被误认为文件已经下载完成或出现其他问题。
![在线安装](assets/network-asset-A03_3_fail-20250316154504-pfofs04.jpg "在线安装")
4. 如果文件下载完毕且安装成功,则会出现类似这样的提示:
![在线安装](assets/network-asset-A04_success-20250316154504-ae5ey2o.jpg "在线安装")
### 方式二、离线安装
1. 打开 AnLinux点击侧边栏中的“下载 Rootfs离线用途”。
![离线安装](assets/network-asset-B01_AnLinux_Offline-20250316154504-45yc5x7.jpg "离线安装")
2. 点击界面中的“查看”按钮,跳转到下载页面。
![离线安装](assets/network-asset-B02_AnLinux_GitHub_Rootfs-20250316154504-hhpgaap.jpg "离线安装")
3. 根据所需要安装的版本和 CPU 架构,进入对应的文件夹。
> 目前手机 CPU 的架构一般为 64 位 ARM。
> 对于 Ubuntu 系统,路径为 `Anlinux-Resources/Rootfs/Ubuntu/arm64/`。
>
![离线安装](assets/network-asset-B03_AnLinux_GitHub_Ubuntu-20250316154504-msh2i8i.jpg "离线安装")
4. 点击文件 `ubuntu-rootfs-arm64.tar.xz`进入详情页面然后点击“Download”按钮进行下载。
> 本教程中使用的文件的更新日期为 **2021-08-14**。
>
5. 进入 `Anlinux-Resources/Scripts/Installer/` 文件夹,下载对应系统的安装脚本。
> Ubuntu 系统的安装脚本路径为 `Anlinux-Resources/Scripts/Installer/Ubuntu/ubuntu.sh`​。
> 本教程中使用的文件的更新日期为 **2020-01-15**。
>
![离线安装](assets/network-asset-B04_AnLinux_GitHub_Script-20250316154504-g092bkz.jpg "离线安装")
6. 将下载好的安装脚本和 Rootfs 文件移动到任意位置放好(也可以不移动)。
![离线安装](assets/network-asset-B05_move_files-20250316154505-w5dix74.png "离线安装")
7. 点击安装脚本ubuntu.sh选择“编辑”查看 Rootfs 的文件名。
![离线安装](assets/network-asset-B06_1_edit_script-20250316154505-losgqch.png "离线安装")
![离线安装](assets/network-asset-B06_2_edit_script-20250316154505-mrxg556.png "离线安装")
8. 重命名 Rootfs 文件名,与脚本中的一致。
![离线安装](assets/network-asset-B07_rename_rootfs-20250316154505-67z62qt.png "离线安装")
9. 执行 `cp <源路径> <目标路径>` 命令,复制 Rootfs 文件和安装脚本到 Termux 中。
> 注:
> 执行 `cp` 命令前可以先执行 `cd` 命令切换工作目录;
> 建议执行 `cd ~` 命令,回到 `home` 目录,方便后续操作。
> 命令中的 `.` 表示执行命令时的工作目录。
>
![离线安装](assets/network-asset-B09_copy_files-20250316154505-ewfiral.png "离线安装")
10. 执行 `bash <安装脚本文件名>` 命令,调用脚本,安装系统。
![离线安装](assets/network-asset-B10_run_script-20250316154505-6sp5xib.jpg "离线安装")
## 进入 Ubuntu 系统
1. 如果需要挂载手机的内部储存到 Ubuntu 中,可以按以下步骤修改 Ubuntu 的启动脚本。
> **建议修改,方便传输文件。**
>
执行 `vim ~/start-ubuntu.sh` 命令,打开编辑器:
![离线安装](assets/network-asset-B11_1_modify_script-20250316154506-vr52sud.jpg "离线安装")
点击 `i` 键,进入插入模式,然后将第 20 行前的 `#` 删除(取消注释):
![离线安装](assets/network-asset-B11_2_modify_script-20250316154506-hzyxqre.jpg "离线安装")
点击 `ESC`​,输入 `:wq`​,点击 `ENTER`​,保存并关闭文件:
![离线安装](assets/network-asset-B11_3_modify_script-20250316154506-jhkwc9m.jpg "离线安装")
2. 然后就可以执行 `bash ~/start-ubuntu.sh` 命令,进入安装的 Ubuntu 系统了。
> 注:
> 如果当前的工作目录为 `home`​,可以执行 `./start-ubuntu.sh`。
> 下一次打开 Termux 时也是通过执行此命令进入 Ubuntu 系统。
>
![离线安装](assets/network-asset-B12_start_ubuntu-20250316154506-gnltn4h.jpg "离线安装")
3. 进入系统后,执行一次 `apt update` 命令,更新软件包信息。
> 如果有需要,可以继续执行 apt upgrade\` 命令更新软件包。
>
4. 执行 `apt install vim` 命令,安装 Vim。
## 安装 JDK
### 方式一、安装 Ubuntu 软件源中的 JDK
1. 执行 `apt search openjdk` 命令,查看可安装的 JDK 版本。
2. 如果需要安装 OpenJDK 8则执行 `apt install openjdk-8-jdk-headless`
> 因为不使用图形化界面,所以安装 headless 版本即可。
>
3. 安装完成后,执行 `java -version` 命令进行验证。
### 方式二、从 Adoptium 网站下载 JDK
#### 下载文件
1. 访问 Adoptium 网站。
2. 点击“Other platforms”然后选择所需要的版本。
![方式二](assets/network-asset-B01_Adoptium_Other-20250316154506-635xr67.jpg "方式二")
![方式二](assets/network-asset-B02_Adoptium_Version-20250316154507-a71ovzm.jpg "方式二")
3. 选择操作系统和 CPU 架构
> 操作系统Linux
> CPU 架构32位 - arm32 / 64位 - aarch64
>
![方式二](assets/network-asset-B03_Adoptium_OS-20250316154507-us44v02.jpg "方式二")
4. 点击列表项右侧的图标进行下载。
> 部分可以选择下载 JDK 或 JRE 版本,如果只是需要 Java 运行环境(例如开 Minecraft 服务器),可以下载 JRE 版本。
>
![方式二](assets/network-asset-B04_Adoptium_Download-20250316154507-midlp40.jpg "方式二")
#### 安装 & 设置环境变量
> 注:如无特殊说明,以下在 Termux 中进行的操作均在安装的 Ubuntu 中进行。
1. 将下载好的 JDK 文件移动到任意位置放好(也可以不移动)。
![方式二](assets/network-asset-B05_move_file-20250316154507-umldi6l.png "方式二")
2. 在 Termux 中执行 `cd` 命令切换工作目录(例如 `cd ~`
然后执行 `mkdir <文件夹名称>` 命令创建用于放置 JDK 的文件夹;
然后执行 `cd <文件夹名称>` 命令切换工作目录到创建的文件夹。
3. 执行 `cp <源路径> <目标路径>` 命令,把下载的 JDK 文件复制到 Ubuntu 中。
> 例如 `cp /sdcard/Files/OpenJDK_16.tar.gz .`
> 注:`/sdcard` 为手机的内部储存挂载路径,需要修改 Ubuntu 启动脚本才能使用。
>
![方式二](assets/network-asset-B06_copy_file-20250316154507-3i571xi.png "方式二")
4. 执行 `tar -xzf <文件名>` 命令,解压文件。
![方式二](assets/network-asset-B07_extract_file-20250316154507-xowa0v8.png "方式二")
5. 执行 `mv <文件夹名称> <目标名称>` 命令,重命名 JDK 文件夹。
> 主要是方便使用,不一定需要重命名。
>
![方式二](assets/network-asset-B08_rename_folder-20250316154508-nck7bmp.jpg "方式二")
6. 执行 `cd <文件夹名称>/bin/` 命令,将工作目录切换到 JDK 的 `bin` 文件夹。
然后执行 `ls -al` 命令,查看其中的文件是否有可执行权限(左侧的权限属性有三个 `x`​)。
一般情况下,该权限在 JDK 文件打包前已经被设置,解压时会自动识别。
如果没有,可以在当前文件夹执行一次 `chmod +x *` 命令。
![方式二](assets/network-asset-B09_check_permission-20250316154508-5znmk6q.png "方式二")
7. 执行 `./java -version` 命令,测试是否能出现对应的版本号。
![方式二](assets/network-asset-B10_test_command-20250316154508-luxyd8x.jpg "方式二")
8. 执行 `vim ~/.bash_profile` 命令(也可以先 `cd ~``vim .bash_profile`
打开“home”目录下的 `.bash_profile` 文件,设置环境变量。
默认情况下,应该没有这个文件,将会在保存后自动创建。
```bash
export JAVA_HOME=~/jdk/jdk_16.0.2
export PATH=$PATH:$JAVA_HOME/bin
```
![方式二](assets/network-asset-B11_1_set_variables-20250316154508-15g0q87.jpg "方式二")
![方式二](assets/network-asset-B11_2_set_variables-20250316154508-h1fh5sm.jpg "方式二")
9. 保存后,执行 `exit` 命令退出 Ubuntu 系统,
然后再执行 `bash ~/start-ubuntu.sh` 命令,重新进入 Ubuntu 系统。
![方式二](assets/network-asset-B12_restart_ubuntu-20250316154508-2czuiy6.jpg "方式二")
10. 此时执行 `java -version` 命令,有显示对应的版本号则安装成功,否则检查环境变量是否设置正确。
![方式二](assets/network-asset-B13_jdk_version-20250316154509-szxns7p.jpg "方式二")
## 注意事项
- 因为该 JDK 是在 Ubuntu 中安装的,所以需要进入 Ubuntu 后才能使用。
- 建议在关闭 Termux 前先执行 `exit` 命令退出系统。
## 补充内容
### Termux
- 在系统的通知栏中点击 Termux 通知的“Acquire wakelock”使用完毕后点击“Release wakelock”并在“最近任务”中锁定 Termux可防止 Termux 被系统关闭。
![补充内容](assets/network-asset-wakelock-20250316154509-alafbmi.jpg "补充内容")
- 安装“Termux:Styling”可在 F-Droid 上下载)后可以调整 Termux 的样式。
### Ubuntu
- 如果需要同时使用多个会话,可以安装 `screen` 软件包(`apt install screen`)。
### Vim 操作提示
- 打开编辑器时默认是“正常模式”点击键盘上的“i”可进入“插入模式”此时左下角会显示“INSERT”然后就可以编辑内容。进入“插入模式”后点击“ESC”可回到“正常模式”。
- 点击“上”“下”“左”“右”箭头可以移动光标。
- 在“正常模式”下点击键盘上的“u”可以进行撤销操作。
- 在“正常模式”下,输入“:wq”按下“回车”键保存并关闭文件输入“:w”仅保存输入“q”仅退出输入“:q!”,不保存并关闭)。