Hacker News new | ask | show | jobs
by simlevesque 143 days ago
Enable Developper Options. It should be in the Developer menu. It's a toggle that'll enable this apk.
2 comments

Is this available outside of Pixels? I still can't find it on my OnePlus 13 running Android 16 with Jan security updates
The option exists on Samsung phones but is greyed out and crashes if you force it via adb. It is also marked as experimental.
I just tried it on my S25. I can enable the option an open the APK but can't download it because it fails to create the VM because the S25 does not support Non-protected VMs, so I may require a rooted device. I guess I will stick to Termux but interesting feature nonetheless
I believe it relies on some virtualization extensions Google's CPUs have, which most phone SoCs don't support.
It is buggy as hell anyway.
Honestly I don't find it more useful than Termux, especially for being so much heavier.
Just because I was curious.

Termux is doing a container. The android terminal is doing a virtual machine. That's the difference.

Termux would definitely be the light weight option, but you will be pinned to whatever version of the kernel your device is shipped with (may be a bit old.)

No, termux isn't a container, it's running directly in userspace on the host. The only weird thing is that because it's running directly on the host, it has to be built to use unusual paths, eg. /data/data/com.termux/files/usr/bin/bash instead of /usr/bin/bash. If it used containers (which IIRC it can't because Android doesn't really support it) that would actually be easier because then it could use a chroot to make the paths look normal.
Ah, well that stinks a little. I guess it makes sense, if android doesn't mandate a few kernel settings then working with containers might not be an option.
Couldn’t it implement a “fake chroot” by e.g. creating its own libc which wraps the real one but with path remapping, and then linking all its executables against that?
That would only work for things that use libc (so eg. most Go programs are probably not going to work). The main way that you can do an unprivileged fake chroot is proot, which termux does offer - see https://wiki.termux.com/wiki/PRoot - but that has a significant performance hit.
> you will be pinned to whatever version of the kernel your device is shipped with

That doesn't matter much for using SSH though.

For running more complex Linux programs or scripts Termux is indeed less comfortable (but it can still work).