18 ms·
Termux and Android 10
- bla3 6y agoPlease refrain from using titles that are more alarmist than the original title. If linking to something with an alarmist title (not the case here!), use a more neutral headline for your submission.
- adsenseclient 6y agoGoogle employee reporting?
- asveikau 6y agoI don't think it's very alarmist or an overstatement though. An android 10 app is no longer allowed to do what termux does. I guess with more reading they are saying they need to declare themselves as targeting android 9 or lower until they find a solution. At some point, I imagine, that will not be an option. To some degree it should also be on Google to ensure that tightening security (or perceived tightening of security) doesn't break valid use cases. edit: Ok, for some reason I can't reply, but I see the workaround is to write to another directory.
- andybak 6y agoFrom my brief reading it sounds like they have a solution and there's no danger of it stopping working. In any case - don't editorialize in your titles.
- cft 6y agoYou might call this a solution, but I disagree: https://github.com/termux/termux-app/issues/1072#issuecomment-627983273 https://github.com/termux/termux-app/issues/1072#issuecommen... "As i said on another issue, you should really start communicating this to users now , via as many channels as you can. I understand why you are doing what you do, but it is a big change and will annoy and/or confuse users however will you implement it. so getting people prepared now (ie as soon as possible, and before they have to do anything) will avoid a lot of angst and be in your best interests." The "solution" is to publish 100s of different play store apps with Linux packages or to disable the ability to run installed programs.
- shockinglytrue 6y agoIt's still possible, you just have to dance around a little more In one project we work around this by shipping a tiny wrapper in the APK to exec that then uses dlopen() on the target, which is now built as a library. Pretty sure a generic hack could be made to run unmodified executables this way. Certainly in the security community userland ELF loaders are very old news, even X11R6 had its own at one point
- AshamedCaptain 6y agoAnd the next release Android uses noexec and therefore you can't even mmap(...PROT_EXEC) the binary. So you now have yo copy the binaries to RAM by yourself on exec(). And then at some point you realize that, like Cygwin, you have built a system where fork() fails randomly by design. And then Google blacklists both fork and exec.
- shockinglytrue 6y agoNot sure why you're being downvoted, this unfortunately all makes sense
- dueF7un3 6y agoI'm confused, because I use termux on android-10 (on a pixel2) without any problem. I have a cron running on it that mails my notifications to me, a ssh server which my laptop use to send my backups on my phone, a go http server running a local app that I use in the mobile's browser, I'll often take screenshots on the phone, then scp them on the laptop, etc. Am I missing something? EDIT: I won't reply to each of you to not be floody, thanks everyone for the clarifications :)
- deleted 6y ago[deleted]
- gst 6y ago> I'm confused, because I use termux on android-10 (on a pixel2) without any problem. It's only an issue if applications target Android 10 APIs. Termux still targets an older API version and is thus not yet affected by this issue. Eventually they'll need to target a newer version because the Google Play store specifies a minimum API version that applications need to use.
- tdeck 6y agoAndroid apps specify a target SDK version (essentially a kind of OS version) in their manifest alongside a min SDK version. The advantage of targeting a newer SDK than the oldest one you support is that you get access to new APIs, but it often comes with additional restrictions as well. Google Play periodically updates their policy to require that targetSdkVersion be above a certain value in order for an app to be published in the play store (currently that value corresponds to Android 9) [1]. What this means is that this policy is an optional trade-off today but likely to be a requirement in the future. [1]: https://developer.android.com/distribute/best-practices/develop/target-sdk https://developer.android.com/distribute/best-practices/deve...
- asveikau 6y agoYou are running in a compatibility mode. If they built it declaring support for Android 10 at build time it would be subject to the new rules and break. Long term, I can only assume targeting an old SDK will not be supported at some point.
- kllrnohj 6y agoThe title is that Android 10 is killing Termux. But it's not, it's killing exec() on writable files. There's alternatives Termux could take, which the Google issue tracker already mentions such as bundling the executables in the APK & using extractNativeLibs=true so they can be exec'd ( https://issuetracker.google.com/issues/128554619#comment4 https://issuetracker.google.com/issues/128554619#comment4 ). They could use a loader that mmap's the code with PROT_EXEC but not PROT_WRITE, that also works (this is how JIT's work, and Android is obviously not breaking JITs anytime soon) It's not entirely clear why Termux hasn't seemingly made any move on the alternative approaches raised a year ago (that's how old the issue is: https://github.com/termux/termux-app/issues/1072 https://github.com/termux/termux-app/issues/1072 ), and there's a bunch of nonsensical alarmist bullshit muddying up the waters which isn't helping.
- stonewareslord 6y agoTermux allows you to apt install thousands of packages. The options in that issue aren't nearly as good. Bundling every binary in the apk? That would be a breach of licenses, let alone the amount of storage that would take up to have gimp, libreoffice, Firefox, etc installed. As mentioned, proot is a temporary hack (why wouldn't any app just stick proot in their lib Dir?). Even if the workaround works, this would break apt install from non-termux repos, compiling and running with gcc, maybe Python packages installed with pip. Google's intent here is to block code execution in the app home Dir. Any workaround would be a security violation and eventually stopped. How is this not killing Termux?
- kllrnohj 6y ago> Google's intent here is to block code execution in the app home Dir Google's actions are to block exec of writable code. What their _intentions_ are is pure speculation and detracts from the actual issue. Your claim is largely unsubstantiated & lacks evidence, particularly as Google recommended ways to continue to do exactly what you claim they are intending to block. > The options in that issue aren't nearly as good. How is using a PROT_EXEC mmap "not nearly as good"? It's the same end result. There's no technical banning of executing downloaded code. That's not what was done, and doing that would also break Chrome which should be glaringly obvious that Google isn't intending or going to do. It takes a bit more effort, and it's not as "simple" as just exec'ing random stuff, but it's not without its own upsides as well (like not violating W^X, which is a _well_ proven security design)
- on_and_off 6y agoAnother title could be : "termux failed to update to Android changes for 2 years"
- pathartl 6y agoI'm really starting to despise most OS's for having such an overbearing security policy. I think it's really why I've stuck with Windows for so long. For sure Windows is not as user-stupid as something like macOS, iOS, Android, etc... but for me as a power user it's just about as powerful as I need to be. I'm not even considering *nix distros here because honestly the market for every day users for something like Ubuntu or Mint is really small, and those are possibly the most end-user friendly. I hate that macOS is starting to go the iOS route of only letting me run applications that are Apple certified. No, I do not want to open system preferences every time I want to launch something. I am a power user. Put it behind some shell command or something... but have it easily documented and marketed towards people like me. At least we can still sideload with Android. Some changes to the API like this those are just so annoying. Yeah there's going to be some apps that just need pretty much unlimited access to my device. But that's OK. I've accepted that.
- jdmg94 6y ago> For sure Windows is not as user-stupid as something like macOS, iOS, Android, etc... but for me as a power user it's just about as powerful as I need to be. I guess it depends on what kind of "power user" you are because windows is pretty limited (why else would they frankestein an Ubuntu terminal into the latest Windows versions?).
- leetcrew 6y agokind of a weird quip. the point of WSL is to allow you to use existing linux tools and write code targeting linux from within windows. it's not intended to make administration of the windows installation easier. maybe I'm not what you would call a "power user", but I do write code for a living. I'm sure you would have a bad time if you expect windows to work like your favorite linux distro, but I find it perfectly serviceable for my work. it gets in my way far less than macOS.
- mey 6y agoNot sure what you mean by limited here? You have quite a few options are your disposal these days. (Depending on how you scope "power user") Cygwin (OSS compiled to Win APIs) Powershell (Native Windows fun) WSL 1 (Linux ABI Bindings to Win Kernel) WSL 2 (Thin Hyper-V running a full Linux Kernel, with Plan9 FS mappings to Windows filesystem) (Insider Preview, should be releasing this quarter) Hyper-V DOSBox Docker (Hyper-V, soon to take advantage of WSL-2) Most of the above also benefit from the work being done over at the new Terminal https://github.com/Microsoft/Terminal https://github.com/Microsoft/Terminal
- ufmace 6y agoI installed Termux on my Chromebook a few years ago to try and create a local development environment per this article[0]. It seemed to work okay, but I never liked how janky and unsupported the whole thing felt. I couldn't bring myself to try and build a workflow around it long-term. And here I guess that's vindicated. Whether now or in a few years, the whole concept of Termux is not long for this world. I guess these types of restrictions are essentially required to keep insecure and abusive apps off of the majority of users' devices. https://blog.lessonslearned.org/building-a-more-secure-development-chromebook/ https://blog.lessonslearned.org/building-a-more-secure-devel...
- cft 6y agoWhen we need to quickly diagnose and fix some sudden server issue from anywhere, Termux is indispensable. I even bought a tiny Bluetooth USB keyboard because of it.
- blacksmith_tb 6y agoAgreed, I had been using JuiceSSH[1] but then it seemed to no longer be supported (though I see it just got an update) so I then switched to Termux to be able to ssh from my phone (which is running Android 10, I guess I haven't run into these problems since I don't generally do much with the local filesystem). 1: https://play.google.com/store/apps/details?id=com.sonelli.juicessh https://play.google.com/store/apps/details?id=com.sonelli.ju...
- cft 6y agoI migrated from JuiceSSH to Termux because it allows you to run remote diagnostic locally, ping, traceroute, schedule crons and even vibrate your phone and display notifications to alert you. It also allows you to port forward ssh, whereas in JuiceSSH you have to pay for that.
- badRNG 6y agoHave you thought about giving LineageOS a spin? It has a built in terminal with sudoer rights available
- sxp 6y agoI really hope they figure out a good solution for this problem. One way I distinguish between a "real" computer and a toy or appliance is whether you can use the device to write software for it. With Termux, you can write Linux-style programs on the Android device itself or even build full Android apks. One of the other awesome things about Termux is that you can use it to setup a pretty complete ARM Linux environment on an Android device in a few steps: https://wiki.termux.com/wiki/PRoot https://wiki.termux.com/wiki/PRoot You can even get a GUI running if you have an XServer: https://wiki.termux.com/wiki/Graphical_Environment https://wiki.termux.com/wiki/Graphical_Environment & https://github.com/adi1090x/termux-desktop https://github.com/adi1090x/termux-desktop I've used this in the past to get a pseudo-Linux dev environment running on an Oculus Quest: https://www.reddit.com/r/cyberDeck/comments/fc5sfr/oculus_quest_termux_selfcontained_hmd_cyberdeck/ https://www.reddit.com/r/cyberDeck/comments/fc5sfr/oculus_qu...
- tmpz22 6y agoTablet companies really need to realize that a decent tablet with a decent dev experience is going to lead to an explosion of developers on their platform and result directly in way higher quality apps and therefore way better sales and brand. Imagine if websites couldn’t be developed on normal desktop computers and you had to run an extremely inefficient emulator every time you wanted to make a small notification.
- AgloeDreams 6y agoThat would be ChromeOS tablets. Full linux terminal in container and all. Hasn't really made any difference.
- toohotatopic 6y ago>Android 10 Is killing Termux terminal app Remember who owns Android. It's not worth investing time into a platform that will be further restricted sooner or later. Why should they treat the tablet differently?
- 6y ago
- ipnon 6y agoTime to order my Pinephone.
- deleted 6y ago[deleted]
- the8472 6y agoWould it be possible to work around this issue by reading the executable file into a memfd and then exec() on that instead?
- julienchastang 6y agoI depend heavily on Termux when travelling without my laptop (i.e., vacation). With my smartphone, a bluetooth keyboard, Termux, an impressively full-fledged emacs, a well-crafted ssh config, and my 2FA card, I can solve most or all emergency work-related problems remotely. Hopefully there will be a solution here.
- freedomben 6y agoAs a heavy Termux user and one who describes Termux as "the killer app for Android" this makes me sad and angry. I was very irritated when they broke ability to send SMS from the termux CLI (in fact I forked and currently build my own version with that patch reverted). If I wanted a paternalistic platform I would be an iOS user (I don't mean that as a slam, iOS obviously has its place, but it's not for me).
- haecceity 6y agoWhy would you want to send sms from cli? Using the on screen keyboard with quotes and escaping special characters and all?
- deleted 6y ago[deleted]
- freedomben 6y agoThanks for asking. My use case is programmatic. I wrote a couple of ruby and bash scripts that automate a few different things. One is a poor-mans SMS scheduler that allows me to have it fire off at a set time. Another parses incoming messages and alert me differently based on content (matches against a set of regexes), and in some cases will auto-reply. Another, I had a case where I need to individually send out the same SMS to a couple dozen people. With termux (and ruby) it was trivial for me to script it up. The possibilities are (or were) endless, which is what I love about a platform. I've always hated the UX of SMS, but people insist on using it anyway. At least this way I use it on my own terms.
- freedomben 6y agoIt looks like the comment requesting a link to the fork was deleted. I haven't kept the fork up to date with the latest patches as I haven't need anything yet, but it's here: https://github.com/FreedomBen/termux-api https://github.com/FreedomBen/termux-api You have to both `termux` the app and `termux-api` to get SMS functionality. I build both at the same version so there aren't any compatibility issues. Then make sure you don't have automatic updates turned on otherwise the Play store will "update" you to a non-sideloaded one that does not have the SMS ability.
- mschuster91 6y agoI get why Android is doing this, even if they're not openly writing it: they want to get in control of malvertising which downloads untrusted binary code that is not in the APK and thus scannable for the Play Store security scanners. What I don't get: why aren't they creating a separate entitlement for runtime code execution that requires manual approval in the Play Store?
- zozbot234 6y agoHopefully that entitlement would require manual user approval, too. I might not want any old free-to-play game from the Play Store to be enabled to run unapproved code on-device, but I definitely want it for Termux.
- KenoFischer 6y agoWhat's the actual restriction? If it's literally just exec on apps outside the app directory, why not shim the dynamic linker and rewrite calls to exec to use that instead? Are there additional W^X protections that prevent mapping executables outside the app directory PROT_EXEC? (Note I have no idea how Android works so I may be missing something very basic).
- zozbot234 6y agoPart of the problem is precisely that no one knows how these restrictions might evolve in the future. There's no such thing as forward compatibility when it comes to Android API levels.
- lucb1e 6y agoSure, but this is about API level 29, not 30+. We can speculate that API 30 will disallow non-Google-written code by default but that's not the discussion at hand.
- CameronNemo 6y agoFrom what I can tell, the W^X restriction is via SELinux, which is a kernel level mechanism that cannot be circumvented with LD_PRELOAD games.
- anotheryou 6y agoCould this be forked out by LineageOS?
- AshamedCaptain 6y agoThis is one of the reasons that "open source" by itself is not enough for "user liberation" as it is usually painted. What point there is to forking a platform where the upstream is as big as a mammoth as Google, changing millions of lines per release and actively breaking API compatibility? Your fork will stay stuck in an API version that in a couple years will have almost no programs written for it. Who would use that? Your only choice is to try to match the manpower from Google and try to keep your "fork" up-to-date. But that is also guaranteed to eventually fail as someday Google will change something that you literally _lack_ the manpower to revert. Which is why I can't recommend an "open source" _Android_ phone. I don't feel promoting Android at all, even if open source, encourages my user freedom.
- deleted 6y ago[deleted]
- modeless 6y agoThe linked page on Android.com does not contain the quoted text about exec(), or the linked section header. Was it removed? Edit: seems to have moved here: https://developer.android.com/about/versions/10/behavior-changes-10 https://developer.android.com/about/versions/10/behavior-cha...
- hyperpallium 6y agonvm
- johnghanks 6y agoHow is it evil?
- deleted 6y ago[deleted]
- swiley 6y agoAndroid is horribly buggy even on good phones, people used to tolerate it because it was cheap and let people do things they needed. Now android is just buggy (and literally unsexy) There’s no reason at all to use it.
- pjmlp 6y agoYeah, apparently many still haven't got the message that Linux on Android is only implementation detail and the NDK's main purpose is for writing Java and Kotlin native methods. The way forward is to create Termux like apps in Java/Kotlin. POSIX is anyway not part of official stable APIs.
- esotericn 6y agoI ordered a PinePhone the other day and I'm going to do as much as I can to try and make it my daily driver. I really can't be arsed with this stuff any more. Why are the developers at Google acting in such boneheaded ways? Is it literally just "I get paid loads of money, lol"? Do people not grow out of that eventually when they have enough? Like, you're literally a developer. Why would you make something you wouldn't want to use? Is the company just wholly made up of people who actually don't care about computing?
- lebrad 6y agoTo answer your last question, the more money they get paid the less likely they are to grow
- mjg59 6y ago> Why are the developers at Google acting in such boneheaded ways? (I'm a developer at Google, but I'm not on the Android team and am definitely not providing any sort of official response here - this is personal opinion and may be inaccurate) If apps can download arbitrary code and then execute it, they can bypass the validation that's done as part of the Play Protect program. My understanding is that there's plenty of evidence of malware in the wild that presents as a harmless app and then downloads the actual payload after being installed on the user's device.
- mixedCase 6y agoOkay, can I just get a big popup on the Play Store saying "this app requires the following functionality that could harm your device: - Run and use other applications without your consent Unless you know precisely that this behavior is necessary for this application's main functionality, we recommend you do not proceed". And use some design pattern to make "Cancel" the "go-to" action for the user. Or even more palatable for whoever's behind Play Protect: Forbid these apps from the Play Store, and force it be done through a 3rd party store or manually, and this can be combined with the big popup. We know it's important to protect grandma from malware, but it's also important to give the advanced user the option to ignore this, specially for a platform like Android that has gained the favor of many technical users through providing some reasonable degree of control over their phones.
- axegon_ 6y agoWell that's annoying... I'm not a heavy termux user, but it's been extremely useful in some situations - ssh proxy over abd in very restricted networks mainly.
- Causality1 6y agoIt also kills the entire Wardriving community as well as amateur network coverage work by putting a continually-increasing delay on how often an app can scan for wifi signals.
- app4soft 6y agoAndroid 5/6 support dropped by Termux devs this year. Android 10 is killing Termux terminal app. Hope, Termux devs would now drop back support for Android 5/6.
- pmlnr 6y agoThat part hurt me. One of the points of things like Termux is to make use of old devices, so killing support really isn't helping.
- qchris 6y agoAs part of my work, I occasionally need to deal with a wireless comms setup that moves data from a roof-mounted RF antenna down into the network. Instead of having to carry my laptop up to the roof with me (sounds simple, but oddly enough dealing with the laptop up there is actually kind of a pain) or call someone downstairs to run the ping to make sure the network configs line up right, I use Termux with a scripted command to do that myself right from my phone. It's been a major boon to my workflow, and it's going to be frustrating to lose it. Like a few others on this thread, I've got a PinePhone on order, and now I'm even more stoked to have access to a terminal through it now that Termux isn't going to be an option on my Android.
- poteznykrolik 6y agogodammit i just actually found this this weekend.
- on_and_off 6y agopretty annoying to read that issue thread ( https://github.com/termux/termux-app/issues/1072 https://github.com/termux/termux-app/issues/1072 ) and read that instead of changing their app behavior, they just want to drop out of the play store :/ They had 2 years to react to this.
- zozbot234 6y agoDropping out of Play is arguably the best solution because the whole point of Termux is to run code that's been obtained from outside Play, and that kind of thing has been contrary to Play policy for a long time. It's a custom repository of sorts, much like F-Droid. That goes besides this whole W^X issue, it's more general than that.
- geofft 6y agoThis 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.
- grawprog 6y ago>Issues >Android 10 does not allow free access to /sdcard (at least file system based). Yeah that is kind of an issue, with plenty more apps than termux I'm guessing.
- codethief 6y agoYup. For me it's particularly painful that Syncthing will stop working[0, 1]. Though it seems there might be hope in Android 11[2]? [2] https://github.com/syncthing/syncthing-android/issues/29 https://github.com/syncthing/syncthing-android/issues/29 [1] https://github.com/Catfriend1/syncthing-android/issues/457 https://github.com/Catfriend1/syncthing-android/issues/457 [2] https://forum.syncthing.net/t/android-11-all-files-access-for-the-syncthing-app/14651/13 https://forum.syncthing.net/t/android-11-all-files-access-fo...
- anderspitman 6y agoDisclaimer: I'm not really an Android developer. I was considering implementing a service I'm working on for Android and after many hours of research determined it's not a suitable operating system for my purposes. Personally I no longer consider Android a viable computing platform. As a developer you simply don't have the tools available to give your users control over their data and experience. With the changes to storage security the last couple years, they've essentially dumbed it down to the level of a web browser, and in the process pretty much deprecated running native (C, C++, Rust, Golang, etc) applications. I'm not opposed to improving security, but when you can't even run software like syncthing or a file explorer without getting special Play store approval, something is wrong. I've been meaning to write a blog post summarizing what I learned. This official video is actually a pretty good summary of some the changes made and what the goal is: https://youtu.be/UnJ3amzJM94 https://youtu.be/UnJ3amzJM94
- timwaagh 6y agoandroid 10 has been pretty bad for rooting etc. i think they would do well to release something that us techies can tinker with though. Call it android 10 unsafe edition :) , i gotta say im pretty happy that its still possible to disable annoying bloatware like 'settings' and 'play store' via the android debug shell. the moment that changes im going to have to drop android altogether, because i still dont believe in using a phone like a computer.
- agumonkey 6y agoHonestly had my mouth gapped open for a few seconds. Sad news.
- tbodt 6y agoThis seems fairly trivial to fix by writing an ELF loader.
- burfog 6y agoThere are a couple solutions, with tradeoffs of course. It's important to remember that this isn't merely a technical problem. Some choices can be judged by human reviewers to be violating policy. The obvious solution is to use isolatedProcess, the isolated_app SELinux domain, just as web browsers do. The restriction on executable code "does not apply to code that runs in a virtual machine and has limited access to Android APIs". Of course everything depends on what "limited access" means. Filtering out paths that start with "/../this-is-a-limitation/../" probably isn't enough. Another solution is to ship all of the executable bytes. Turn an entire Linux distribution into something like busybox. It would be possible to exclude the non-executable pages of memory, shipping those separately as code-free ELF files. Installing programs would work the normal way, except that the .text sections would be empty holes in the files. As long as the mremap system call works, a loader should be easy to implement.
- pojntfx 6y agoProjects like these were doomed from the beginning. Buy a real Linux phone, like the PinePhone or the Librem 5 + a backup phone (I’m on Apple for that) for the proprietary nonsense. Simple, straight-forward and clean. It’s time to stop hacking on existing non-free platforms and time to use libre hardware. You have nothing to loose but your chains!
- remexre 6y agoI almost wonder if WebAssembly might be sufficient here? I suppose that'd break support for third-party binaries, but you don't need exec() to load a wasm blob /shrug
- zozbot234 6y agoWASM w/ WASI is still in its early stages and cannot even support existing applications seamlessly, let alone a full operating environment. For now, it would be better to run a riscv64 system VM, since that architecture will both run with comparative efficiency under an interpreter or JIT, and be well-supported at a system level.
- biggestdecision 6y agoI mean it's sad that this change will affect Termux, but at the same time I can see why Google wants to enforce W^X on apps home dirs. This is currently a big backdoor for apps to sneak unvetted code in at runtime, bypasses Google's review policy. Sure Termux was using this for good, but I guarantee that Google has examples of apps doing this to sneak hostile code onto user devices. Development tools often need higher security permissions on Desktop, maybe Android just needs a "development" class of app that is more privileged? They'd just need to enforce the limitation to development focused apps really strongly in the review process.
- dTal 6y agoIf they were actually vetting the code, they could tell that an application contained a suspicious "download and execute". In actual fact the Play Store is full of perfectly "vetted" malware, as it stands. What this actually does is prevent the user from coding on the device.
- kragen 6y agoI'm having a hard time already in Android 6. I used to be able to do things like use Termux to move videos I'd downloaded in NewPipe into subdirectories and delete them; apparently with Android 6 I can't do that any more. What alternatives to Android are people using? I'm already not using the Play Store, just F-Droid and a couple of third-party apks.
- zozbot234 6y agoIf you're not using Play, why not root your device? You could ultimately bypass all of these restrictions.
- kragen 6y agoWell, I don't know how to tell a safe root from a malware root (or find one that will work for my device), and I'm ignorant enough about Android to wonder if rooting the device means I'm running everything as root and consequently have no protection at all from malware? I mean, it's embarrassing, but that's the truth.
- commoner 6y agoThe most popular root solution for Android is Magisk. It's FOSS and doesn't affect the device's system partition. https://topjohnwu.github.io/Magisk/ https://topjohnwu.github.io/Magisk/ https://github.com/topjohnwu/Magisk https://github.com/topjohnwu/Magisk https://forum.xda-developers.com/apps/magisk/official-magisk-v7-universal-systemless-t3473445 https://forum.xda-developers.com/apps/magisk/official-magisk...
- kragen 6y agoThank you!
- CtrlShiftI 6y agoDidnt they drop support for Android 5/6?
- altfredd 6y agoImpact of Android 10 on Termux usability is already old news. What worries me more is behaviour of Termux developers. They make dubious claims and effectively sabotage their own application (more on that below). The solution to Android 10 problems — a software wrapper called "proot" [1] — has already been found. That solution would allow to keep all of Termux functionality and preserve existing package managers (such as apt). Proot allows Android user to compile C code in Termux (which they currently can do) and does not require major changes to Termux itself. Termux developers refused to adopt proot as solution and even removed it's mention from their wiki on Github. Instead they are insisting that all Termux packages should be distributed in Android apk files, published on Google Play. That "solution" has major usability issues, does not scale (it uses shoddy Android PackageManager to track all Termux packages) and would prevent users from using Gcc and other compilers in Termux. The only claimed upside of using apk files is that it would better comply with Google's policies. Termux developers justify their actions by following arguments: 1. Termux packages require a lot of bandwidth to host, and Termux does not have money to pay for their mirrors; hosting packages in Google Play would be preferable. That statement is nonsense — even fringe Linux distributions like Artix can find FREE mirrors, willing to host their packages. This is usually done by contacting curators of existing servers, that host Linux packages, and asking them for support. Termux is more popular than some of Linux distributions, but it does not look like Termux devs even TRY to do that — they apparently just sit on their hands, occasionally begging their sole mirror provider (JFrog) for more bandwidth. 2. Termux currently does not comply with Google's policy and it's developers are afraid, that this will result in removal from Google Play. They are technically right, but they are making mistake by downgrading experience of their app in attempt to pacify Google Play censors. They are making even bigger mistake by displaying guilt about that — Termux does nothing wrong, and the display of guilt is a better excuse to punish them than their actions. 1: despite it's name, proot does not require root access
- teruakohatu 6y agoI guess it needs to be forked.
- madushan1000 6y agoYeah, their decision baffles me too. I'm pretty sure the average termux user is willing to install f-droid if play store decides to remove termux. They shouldn't compromise usability to appease google overloads. Do you know of any documentation on how to use proot to get around this restriction?
- noisy_boy 6y agoI turned-off automatic downloading of upgrades on my Oneplus once I found this out. Termux is very important for me since it allows me to install the typical tools like SSH/Nginx etc that help me connect to my phone, view my wiki (synced between my PC and phone using Syncthing) among other things. It is a very useful piece of software.
- bitwize 6y agoWellp... what has two thumbs and plans to get a Pinephone? This guy.
- vkaku 6y agoI love Termux. They must introduce a mode where a user can whitelist certain applications for this, get the permission policy inside the application.
- nromiun 6y agoTermux is the only reason I use Android. If it doesn't work in the future I will most likely switch to IOS. Long term software support is much better anyway.
- dirtnugget 6y agoJust the ability to run TOR along with a node server made this incredibly useful. This way it was possible to register an onion domain and set up e.g a chat server with just a phone.