back

by josephcsible·6y ago·view on hn ↗
This doesn't really fix it. Rewriting everything in Java/Kotlin won't magically grant the terminal all of the permissions that it used to have.
1 comments
True, but it will allow the use of official APIs instead and do the application the Android way.

Whatever Linux calls Termux makes use of, they aren't allowed and work by chance.

Here are the official NDK APIs,

https://developer.android.com/ndk/guides/stable_apis

Anything else is considered unstable, not guaranteed to work across devices or OS updates, or even selected for SE/seccomp validation.

Android is not Linux, no matter how many think that it is the victory of Desktop Linux.

My point is that the permission issue is completely unrelated to the unstable API issue. If you don't have permission to do something through raw Linux syscalls, you won't have permission to do it through the official stable API either.
I have done Android coding since version 2.1, never felt the need to do raw Linux syscalls.

This is what many seem to fail to understand, Android is not a Linux distribution as such, trying to pretend otherwise will only lead to disappointment.

But how is that relevant to the permissions issue we're discussing?
Because of this " If you don't have permission to do something through raw Linux syscalls, you won't have permission to do it through the official stable API either."

Just because you aren't supposed to do Linux syscalls directly, doesn't mean there isn't an Android compliant way to achieve the same goal.

For example, you aren't supposed to fumble with Linux networking APIs directly rather use the NDK and Java APIs for the same.

> Just because you aren't supposed to do Linux syscalls directly, doesn't mean there isn't an Android compliant way to achieve the same goal.

But in this case, they didn't give us Android compliant ways to do any of the stuff they restricted.