使用 Termux 搭建开发环境
出于一些需要,我将在 Android 上搭建开发环境,并运行 Java 服务这类的程序。折腾了一整个下午终于完成了,写此文以记录完整过程。
首先准备好一台 Android 手机,配置要高一些的,否则 Ubuntu 折腾起来可是很慢的,我的选择是小米10 Ultra 和 Vivo Nex3S,均没有 root,并保证存储空间还有 10G 以上。
1. 安装 Termux
推荐使用 F-Droid 进行安装,Google play 的版本无法正常开启存储权限,也就无法正常使用了。另外,在 Google play 安装 Termux Styling 插件是要付费的,而在 F-Droid 安装却是免费的。
需要安装的内容如下:
- Termux 带有软件包的终端模拟器
- Termux: API 从 Termux 访问 Android 功能
- termux: Styling 自定义 Termux 终端
将这三个应用都安装完毕后,启动 Termux,看到以下结果即告成功。
2. 安装必要的程序
在 Termux 内,需要先安装一些必要的组件,才可以开始安装 Ubuntu,具体操作如下:
$ apt update
$ apt upgrade -y
$ apt install proot wget git -y
当安装完成后,即可以执行以下命令,来模拟出一个拥有 root 权限的帐户:
$ termux-chroot
这个命令不会有任何的输出,执行不报错即可,然后执行以下命令以关联 Android 系统的一些目录到 Termux 中:
$ termux-setup-storage
需要特别注意路径问题,要安装 Ubuntu 或是在 Ubuntu 内进行操作,必须在 termux-chroot
执行之后,区分方法为:
$ pwd
/data/data/com.termux/files/home
$ termux-chroot
$ pwd
/home
必须在 pwd
命令返回 /home
时,才进行下一步操作。
3. 安装并运行 Ubuntu
有了上面两步之后,安装 Ubuntu 就很轻松了,这个步骤建议全程翻墙,以免在下载过程出现不可预料的意外。
$ git clone https://github.com/MFDGaming/ubuntu-in-termux.git
$ cd ubuntu-in-termux
$ chmod +x ubuntu.sh
$ ./ubuntu.sh -y
$ ./startubuntu.sh
此时即告成功安装并运行了 Ubuntu。当你成功执行到这一步,下一次再需要启动 Ubuntu 时,只需要做以下操作:
$ termux-chroot
$ cd ubuntu-in-termux
$ ./startubuntu.sh
当然了,你也可以直接写个脚本,而不是每次输入这些命令,那样更像个程序员2333.
4. 在 Ubuntu 内访问 Android 里的文件
从这一步起,所有的操作均在 Ubuntu 下进行,命令提示符的记号为 #,表示有 root 权限
只需要输入一个命令:
# ln -s /storage/emulated/0 sdcard
此时即可在 /root
(即 Ubuntu 的家目录) 下拥有一个 /sdcard
目录,通过该目录即可访问到 Android 的存储。
5. 安装开发环境
# apt update
# apt install vim git curl zip unzip net-tools openssh-server -y
# apt install openjdk-8-jdk -y
# apt install nodejs -y
# apt install python3 python3-pip -y
还可以安装 Kotlin:
# curl -s "https://get.sdkman.io" | bash
# source ~/.sdkman/bin/sdkman-init.sh
# sdk install kotlin
当然了,你还可以安装任意的开发工具,源里有的可以直接 apt 安装,没有的也可以下载 deb 来安装,一切都和真实的 Ubuntu 一样。
6. 运行 Ktor 服务程序
在电脑上随手建立一个 Ktor 程序,然后用 gradle build
编译之,采用以下命令来将程序传入手机并运行为服务器:
电脑端执行:
$ adb push KtorSample-1.0.0.zip /sdcard/ktor/
手机端 Termux/Ubuntu 执行:
# mkdir ktor
# cd ktor
# cp ../sdcard/ktor/KtorSample-1.0.0.zip ./
# unzip KtorSample-1.0.0.zip
# cd KtorSample-1.0.0
# ./bin/KtorSample
此时就已经成功启动了 Ktor 服务器,可以在手机浏览器上使用 http://0.0.0.0:8080
来进行访问,同样的,也可以在电脑上使用 http://<手机IP>:8080
进行访问。
7. 结语
到此,Termux 的安装和使用就先告一段落了,能在手机上搭个开发环境,有的时候真的解燃眉之急,这样我就可以随时折腾了。这里安装的是 Ubuntu,对于经常折腾容器的开发者,也可以安装 Alpine 来代替之,这样离容器的环境更近一些。