OpenCode 1.3.13 for Android/Termux (aarch64)
Installation
Termux (pacman):
# Download the .pkg.tar.xz file, then:
pacman -U opencode-1.3.13-1-aarch64.pkg.tar.xzTermux (dpkg):
# Download the .deb file, then:
dpkg -i opencode_1.3.13_aarch64.debStandalone binary (zip):
# The zip contains wrapper + binary + libtagfix.so + libc++_shared.so +
# libopentui.so, plus librust_pty_arm64.so if an Android build is available.
# Unzip all into bin/:
unzip opencode-1.3.13-android-aarch64.zip -d $PREFIX/bin/
chmod +x $PREFIX/bin/opencode $PREFIX/bin/opencode.bin
# If the zip includes a debug variant (opencode-debug / opencode-debug.bin):
chmod +x $PREFIX/bin/opencode-debug $PREFIX/bin/opencode-debug.binAndroid compatibility fix
This release includes fixes for Android 11+ crashes and hangs:
- "Pointer tag ... was truncated" SIGABRT — a preloaded library disables
bionic's software heap tagging before JavaScriptCore initialises,
preventing the tag-mismatch abort on free(). - Hang with no TUI output — Bun's virtual
/$bunfs/root/...paths are
not intercepted by the Android runtime, so opentui's renderer library
could not be loaded from the standalone binary. The package now ships
libopentui.soas a real file, and the wrapper sets
OPENTUI_LIB_PATHso it loads from the filesystem.BUN_PTY_LIBis
set only when an Android/Bioniclibrust_pty_arm64.sois available. - Bun's JIT-compiled modules need
libc++_shared.so, which Android's
/system/lib64/ does not provide. The package shipslibc++_shared.so
and the wrapper setsLD_LIBRARY_PATHso the linker can find it.
If opencode still crashes with a Zig panic (e.g. "integer does not fit
in destination type"), run opencode-debug instead and paste the full
stack trace in the issue — the unstripped binary gives file:line info.
Build info
- Bun: v1.2.13 (cross-compiled for Android aarch64)
- WebKit/JSC: 017930ebf915121f8f593bef61cbbca82d78132d
- ICU: 75.1
- Android API level: 24
- NDK: r28b (28.1.13356709)