前言
最近想玩玩Termux,本以为安装完APP就可以直接使用,没想到还需要在官方服务器下载引导程序包(bootstrap package),为此瞎折腾了一番,于是便诞生了下面的操作。
一、源码下载
注意:本文源码使用的是android-5的版本,手机是Android 7.1.2的版本。
源码链接: https://github.com/termux/termux-app/tree/android-5
二、编译安装
使用Android Studio对源码进行编译,一般情况下,刚开始编译可能会遇到下面的问题,
No toolchains found in the NDK toolchains folder for ABI with prefix: arm-linux-androideabi
这是由于NDK版本不兼容,把NDK版本降到22.1以下就可以了,如下图所示。
三、修改源码
termux安装后运行,通常都会出现下图的情况。
这是因为termux第一次启动时需要在官方服务器下载引导程序包,又由于服务器是在国外,不稳定,可能会下载很慢或无法下载。
于是,我就查看了termux的源码,发现了在TermuxInstaller类中有determineZipUrl这个方法,如下图所示。
很明显,该方法会根据我们的CPU架构而选择不同引导程序包的URL。
因此,我们只要把这个URL改成稳定的地址就可以了,但是问题又来了,到底去哪里找到这个稳定的URL呢?
经过一番摸索,终于让我在termux的github上找到了bootstrap的release版本,如下图所示。
链接: https://github.com/termux/termux-packages/releases
把URL改成github上引导程序包的下载链接,如下图所示。
然后,再次编译安装,打开termux后,通过实时网速,能够明显看到正在下载数据,稍等片刻,安装完成,如下图所示。
虽然成功安装了,但是大量的红字表示版本过低,似乎旧版本真的要被淘汰了。
四、直接下载
逛了一圈termux的github发现,官方已经帮我们打包好了debug版本,链接: https://github.com/termux/termux-app/releases,如下图所示。
似乎直接下载安装就可以使用了呀😅。
五、尚存难题
1、使用github的bootstrap似乎也不是很稳定,但更改URL的方法只是一种思路。
2、使用Android 5.1.1版本尝试上述方法,需要使用最旧的引导程序包才能下载,而且会出现如下图的结果,
要是有哪位小伙伴解决了这个问题,希望能告诉我一声,我会很感谢的。