termux / termux-app

Termux - a terminal emulator application for Android OS extendible by variety of packages.
https://f-droid.org/en/packages/com.termux
Other
36.23k stars 3.81k forks source link

[Feature]: A developer-signed, non-debuggable variant of Termux on GitHub Releases #4094

Open FixItKit opened 2 months ago

FixItKit commented 2 months ago

Feature description

There should be a developer-signed, non-debuggable variant of Termux published on GitHub Releases. GitHub Releases is the fastest way to get new updates since you don't have to go through Google Play's or F-Droid's update review processes. You can keep the Termux app up-to-date by manually checking for updates or using an app to automatically check for updates/update it for you.

Additional information

Most Android developers using GitHub Releases publish developer-signed, non-debuggable apps.

sylirre commented 2 months ago

Agree, but here's an issue: current situation would require introducing a new signature key as current maintainers don't have access to one used for Google Play. F-Droid uses its own either.

3 different signatures already confuse users (testkey, Google Play, F-Droid). Adding the fourth one would make it even worse.

agnostic-apollo commented 2 months ago

There are plans to publish another source on our site after/with next main release, a key was already generated. Publishing both debug and release builds on github would be problematic, there are already separate android 5/6 and 7+ variants and users have been blindly downloading the android 5/6 variants, as its download count is much higher than the android 7+ ones, which it should not be, will fix that in next beta. We may eventually need to release different execution type/targetsdk variants too.

Playstore having removed sharedUserId without warning users if a plugin is installed from a different source has already created a mess, as signatures don't need to be same for main termux app and plugins.

So ultimately situation would get worse if another key is added, even though we may need to.

FixItKit commented 2 months ago

Maybe offer a short explanation on which APK to pick or add a link to some webpage explaining releases for those who don't know already.

agnostic-apollo commented 2 months ago

Yeah, I already have written docs for it, but they aren't complete yet due to some blockers.

agnostic-apollo commented 2 months ago

I have manually added a downloads section to the release info, that should help. On mobile site, github does not show full filename of artifacts as its too long, so that might be part of the problem as users would not be seeing the android-* and architecture tags at the end. The release artifacts default sort order can't be changed either to list universal architecture apk first. The downloads section shows the full name and lists universal apk first to solve those issues. Will have to automate that with github workflow as manually creating the section is cumbersome.

https://github.com/termux/termux-app/releases/tag/v0.119.0-beta.1