Hacker News new | ask | show | jobs
by GekkePrutser 1401 days ago
Yes it's pretty amazing. But the latest versions of Android are killing it. It's now not even possible anymore to update or install packages inside it if it's targeting the Android 10 SDK which is now required to publish to the app store. So the developer had to stop pushing updates. Which limits him to F-Droid or sideload users of which there are a lot less. I am worried he might not deem it worthwhile to continue. I understand they're looking for a way to do this within the new framework but I'm sure Google will keep clamping this down because 99% of apps don't need this.

Eventually I'm sure even AOSP will stop supporting the older Android SDKs too.

https://wiki.termux.com/wiki/Termux_Google_Play

It just worries me because I love termux so much and it casts a shadow over its future.

2 comments

FDroid still provides access.

My most recent Android device (purchased under protest) is an Onyx BOOX e-book reader running Android 11.

I have Google Play entirely disabled, rely on FDroid for most app installs, another 2--3 from Aurora.

(In general, I avoid installing apps at all.)

Termux is installed, runs, and updates. I just completed a package update a few minutes ago.

They need to embrace how Android works instead of pretending to be a Linux distribution, if not, well that is what happens.
But this is just not feasible for something like termux. Termux is the equivalent of a Linux distribution on Android. If they would let that go there would be no reason for it to exist.

The Android way would be to publish all packages individually on the app store. Termux has tens of thousands of packages. This would simply be insane and Google wouldn't permit it.

It is, there are Java APIs for most of the stuff they want to do, use JNI instead of Linux syscalls.
That was one of the issues yes. The execve() thing.

But a bigger problem is that an app is not allowed to modify its own files anymore, and is not allowed to run executables from 'data' storage. This is much harder to work around:

https://wiki.termux.com/wiki/FAQ

Even if they work around the execve thing, Google will probably refuse them in the store when they run executables not included in the APK. And the question is what will be locked down in future Android versions. Android 12 is already iffy according to the above FAQ. That's why I'm worried about it

Fwiw: I don't think Google is actively trying to kill it, no. But it's just not something needed for most apps so they don't want to facilitate it.

Except execve() isn't part of public APIs, people keep mixing up ISO C with POSIX, and only the former is a public NDK API.