If you want to install that bootstrap package without internet, you need root access.
The easiest way I've found is with Titanium Backup. You can install Termux on another device, bootstrap it then back it up with TB, and transfer the TB backup to the offline device and restore. It's also convenient for batch deploy.
If you want to manually install the bootstrap package via a shell (another Terminal Emulator or ADB shell), here's a possible method (I haven't tested it myself, but I think it's mostly correct). As said before, manual installation also requires root access.
First download the ZIP of the correct architecture and create these directories:
/data/data/com.termux/files/home
/data/data/com.termux/files/usr
And extract the ZIP completely to /data/data/com.termux/files/usr
.
Then create some symbolic links because they're required for Termux to work. The instruction to creating those symbolic links are stored in SYMLINKS.txt
and you need to process that.
Well, putting Unicode characters in such a text file isn't a good practice because it makes it hard to parse. Maybe you can try this tool (Meta Sandbox, CodePen) on a desktop browser. First click "Run Code Snippet" to enable it. Paste the content of SYMLINKS.txt
to the text box, click Convert
and run the output as shell commands. Make sure you're running those ln
commands in /data/data/com.termux/files/usr
.
Finally, correct the permissions, ownerships and SELinux contexts. Run the following commands. You can use the "vanilla" toolset in /system/bin
for this job. They perform well here.
ROOT=/data/data/com.termux/files
UID=$(stat -c %u $ROOT)
chown -R $UID.$UID $ROOT
chmod -R 0755 $ROOT/usr/bin $ROOT/usr/libexec
If you're running Android 7 (API 24) or up, run this command in addition:
chcon -R u:object_r:app_data_file:s0:c512,c768 $ROOT