app: add variant-compatible APK transport - #29
Merged
Conversation
Add standard and compatible transport flavors while keeping the existing shared UID only in the standard manifest. The compatible flavor appends -compatible to versionName and uses the same versionCode and test signing key. Run the Termux-side CompatibleBridge through app_process, publish its Binder over a package-targeted broadcast, and pass duplicated daemon socket descriptors into the native consumer without an Android-side Unix connect. Preserve the daemon control connection across compatible reconnect attempts.
Install the anland-compatible command from both the local Makefile and the Termux package recipe. The launcher resolves the installed Anland APK with pm, runs CompatibleBridge under the Termux UID via app_process, and accepts the daemon socket path with the existing default as a fallback. Document the new Termux-side command alongside the daemon.
lfdevs
force-pushed
the
dev/app/add-compatible-version
branch
from
August 9, 2026 19:30
7329953 to
5dad6ab
Compare
Build the standard and compatible debug flavors with separate scripts. Name the compatible artifact with the -compatible suffix while preserving the PR debug and short-SHA prefix generated by the workflow. Run both flavor builds in GitHub Actions and include bridge, packaging, and build-script changes in pull request path filters.
lfdevs
force-pushed
the
dev/app/add-compatible-version
branch
from
August 10, 2026 01:59
5dad6ab to
1cd0843
Compare
lfdevs
marked this pull request as ready for review
August 10, 2026 05:55
|
Wow that is awesome good job making and releasing Wayland for Termux, I don't use Wayland personally but that's good to see. |
lfdevs
force-pushed
the
dev/app/add-compatible-version
branch
from
August 12, 2026 02:54
1cd0843 to
20279a1
Compare
Describe when to choose the standard or compatible APK in both English and Chinese documentation. Document the Termux-side bridge startup, Binder descriptor flow, separate artifact names, signing and versionCode invariants, and the PR debug suffix ordering. Update the project and daemon READMEs to point F-Droid users at the compatible transport instead of requiring the F-Droid signing key.
lfdevs
force-pushed
the
dev/app/add-compatible-version
branch
from
August 12, 2026 07:19
20279a1 to
4eeaca5
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
compatibleAPK flavor that does not usesharedUserId.anland-compatibleBinder bridge.Compatibility
The standard APK continues to use
sharedUserIdfor GitHub Termux.The compatible APK uses the Termux:X11-style transport:
anland-compatibleconnects to the daemon socket under the Termux UID, keeps the connection open, and transfers duplicated descriptors to the APK through Binder.Both variants use the same application ID,
versionCode, andapp/testkey_untrusted.jkssigning key. The compatible variant appends-compatibletoversionNameand cannot be installed alongside the standard variant.Artifacts
Examples:
AnlandTermux-5.13.2.apkAnlandTermux-5.13.2-compatible.apkAnlandTermux-5.13.2-debug-70d1b85-compatible.apkUsage
After installing the compatible APK built by this PR and the Termux daemon here, use the following commands to start the Termux daemon and Binder bridge: