4 ms·
This title is misleading for a few reasons: - Android 10 is not killing anything. Targeting API level 29, the native API level of Android 10, prevents the mech
by geofft 6y ago
This title is misleading for a few reasons:
- Android 10 is not killing anything. Targeting API level 29, the native API level of Android 10, prevents the mechanism Termux uses, but you can target a lower API level and run just fine on Android 10, and in fact Termux does run just fine on Android 10.
- API level 29 blocks a specific mechanism that Termux happens to use to run arbitrary code. There are other ways to do anywhere from most to all of what Termux wants to do, with some tradeoffs. It's not as good as the old way, but it's hardly "killing".
- agluszak 6y agoRight now apps on Google Play are required to target at least API level 28. This will most probably be raised to level 29 in the near future, essentially blocking distribution of Termux, at least in its current form.
- lucb1e 6y agoWouldn't be the first app that runs into issues with Google's benevolent inclusion of their code in the Google store. I'm sure F-Droid will continue to deliver Termux, especially for the specific Termux audience.
- cft 6y agoAt some point these restrictions to exec() will be enforced on the OS level, rather than on the API level.
- lucb1e 6y agoIsn't that the same thing in Android? SELinux, which I read elsewhere in this thread is where this is built into, is part of the system in which your app runs.
- cft 6y agoYes, but the configuration of SELinux can be changed.
- freedomben 6y agoNot without root. Termux is very useful even on a non-rooted phone.
- bitwize 6y agoUltimately Google has super-root to your Android device, and Google will change SELinux settings to lockout Termux and things like it.
- zozbot234 6y agoYou will always be able to download Termux from outside Play. I actually have no idea how Termux could even work within Play policy seeing as it's essentially a 3rd-party repo not unlike F-Droid. You wouldn't expect to find F-Droid on the Play store, surely? You have to sideload it, and then it just works.
- Spivak 6y agoBut that doesn’t mean much when the SELinux hammer drops and no app can exec no matter where it’s installed from.
- m-p-3 6y agoThis will cut the developers out of a revenue stream though, as they provide optional Termux add-ons for a fee on the Play Store to support their development. I donated, but I'm obviously part of a minority of users.
- on_and_off 6y agoThey had 2 years to react to that change. I am the first one to decry the absurd power that apple and (to a lesser extent) google have on what you can run on your own device, but this isn't it.
- teruakohatu 6y agoThis has been discussed for over a year at least, there is currently no solution (that the developers consider acceptable, proot is an option they don't). As each day passes we move closer to the app being banned from the Play Store (or at least updates being banned).
- stonewareslord 6y agoIf I understand correctly, they are killing exec in app homedir. I assume they would block exec in the sdcard too then. If that's the case, what's the workaround for installing and running things through termux's apt get?
- geofft 6y agoThe proposed workaround is that you distribute software through apps and allow Termux to essentially get plugins from other apps (whether distributed via the Play Store or sideloading).
- m-p-3 6y agoSo this will effectively kill some packages. I doubt Google will let anyone publish an app with "youtube-dl" embedded in it.
- cft 6y agoIt will be impossible to distribute the app targeting 28 in the near future. Targeting 29, the only replacement for apt get that they could come up with is to stuff Linux binaries into 100s of apps and upload those apps to the play store. I am not sure this is usable anymore. You might want to read this: https://github.com/termux/termux-app/issues/1072#issuecomment-627983273 https://github.com/termux/termux-app/issues/1072#issuecommen...
- zozbot234 6y agoImpossible to distribute in Play. Will work fine as a plain .apk, or downloaded from e.g. F-Droid.
- cft 6y agoNote that they will eventually tighten SELinux policy to forbid exec() outside of userspace of the process https://github.com/termux/termux-app/issues/1072#issuecomment-474564702 https://github.com/termux/termux-app/issues/1072#issuecommen... So the app will not work on the OS level
- zozbot234 6y agoOne will always be able to gain write access to that "user space" by having a separate app build "APK update" packages on-demand, signed by a user-controlled signature. It will be the moral equivalent of running a Linux live distribution from read-only media and having to reboot Termux for each "update". Of course, one will be able to execute other code via JIT, perhaps even hooking into a patched version of qemu-user. It will be annoying but it will broadly work.