I thought why is qemu used here? Why not use linux native namespaces and cgroups.
Permissions. Isolation.
so, like namespaces and cgroups?
Android kernel has the relevant kernel parameters disabled. It is entirely possible to run containers directly on android, but it requires enabled the relevant parameter (iirc no recompilation need, just a cmdline change). But this of course requires root.