在 Android 5.x.x-6.x.x 使用 Termux
安装Termux
由于Termux已经在2020年1月1日的v0.83
版本中结束了对Android 5和6的支持,在此之后仅支持Android >=7
的版本,在Android 5和6中使用需要下载旧版Termux,官方提供的是在 archive.org 的v0.79
版本(需要科学上网)
下载后安装即可
换源及更新升级
需要更换四个官方源和一个第三方源,如果下载可能很慢可以科学上网
换源脚本:
cd ~
export apt_path=$PREFIX/etc/apt
# 换官方源
echo "deb https://packages.termux.dev/termux-main-21/ stable main" > $apt_path/sources.list
echo "deb https://termux.dev/game-packages-21-bin games stable" > $apt_path/sources.list.d/game.list
echo "deb https://termux.dev/termux-root-packages-21-bin root stable" > $apt_path/sources.list.d/root.list
echo "deb https://termux.dev/science-packages-21-bin science stable" > $apt_path/sources.list.d/science.list
# 添加第三方源its-pointless
curl -o setup-pointless-repo.sh https://its-pointless.github.io/setup-pointless-repo.sh
chmod 777 setup-pointless-repo.sh
./setup-pointless-repo.sh
# 更新并升级
apt update && apt upgrade
然后就可以开始 Termux 之旅了
C/C++开发(可选)
安装 clang
apt install clang
写一个简单的程序然后编译,编译可能会遇到以下输出,可以忽略
$ gcc -o test test.c
/data/data/com.termux/files/usr/bin/aarch64-linux-android-ld: /system/lib64/libdl.so: .dynsym local symbol at index 3 (>= sh_info of 3)
/data/data/com.termux/files/usr/bin/aarch64-linux-android-ld: /system/lib64/libdl.so: .dynsym local symbol at index 4 (>= sh_info of 3)
/data/data/com.termux/files/usr/bin/aarch64-linux-android-ld: /system/lib64/libdl.so: .dynsym local symbol at index 5 (>= sh_info of 3)
/data/data/com.termux/files/usr/bin/aarch64-linux-android-ld: /system/lib64/libdl.so: .dynsym local symbol at index 6 (>= sh_info of 3)
/data/data/com.termux/files/usr/bin/aarch64-linux-android-ld: /system/lib64/libdl.so: .dynsym local symbol at index 7 (>= sh_info of 3)
/data/data/com.termux/files/usr/bin/aarch64-linux-android-ld: /system/lib64/libdl.so: .dynsym local symbol at index 8 (>= sh_info of 3)
/data/data/com.termux/files/usr/bin/aarch64-linux-android-ld: /system/lib64/libdl.so: .dynsym local symbol at index 9 (>= sh_info of 3)
/data/data/com.termux/files/usr/bin/aarch64-linux-android-ld: /system/lib64/libc.so: .dynsym local symbol at index 3 (>= sh_info of 3)
/data/data/com.termux/files/usr/bin/aarch64-linux-android-ld: /system/lib64/libc.so: .dynsym local symbol at index 4 (>= sh_info of 3)
/data/data/com.termux/files/usr/bin/aarch64-linux-android-ld: /system/lib64/libc.so: .dynsym local symbol at index 5 (>= sh_info of 3)
/data/data/com.termux/files/usr/bin/aarch64-linux-android-ld: /system/lib64/libc.so: .dynsym local symbol at index 6 (>= sh_info of 3)
/data/data/com.termux/files/usr/bin/aarch64-linux-android-ld: /system/lib64/libc.so: .dynsym local symbol at index 7 (>= sh_info of 3)
/data/data/com.termux/files/usr/bin/aarch64-linux-android-ld: /system/lib64/libc.so: .dynsym local symbol at index 8 (>= sh_info of 3)
/data/data/com.termux/files/usr/bin/aarch64-linux-android-ld: /system/lib64/libc.so: .dynsym local symbol at index 9 (>= sh_info of 3)
运行编译得到的程序
$ ./test
WARNING: linker: ./test: unused DT entry: type 0x6ffffef5 arg 0x2e0
Hello Termux!
如果出现类似于WARNING: linker: ./test: unused DT entry: type 0x6ffffef5 arg 0x2e0
的警告(不影响正常使用),可以通过termux-elf-cleaner
工具清除
安装 termux-elf-cleaner
apt install termux-elf-cleaner
清除程序的 unused DT entries
警告
termux-elf-cleaner ./test
输出
termux-elf-cleaner: Removing the DT_GNU_HASH dynamic section entry from './test'
清除后再运行程序就不会出现类似的警告了
其他扩展应用
Termux的其他扩展应用,如 termux-api
, termux-boot
, termux-styling
等官方应用可以在归档中下载
https://archive.org/download/termux-repositories-legacy