Support Android apps
twischer opened this issue · 1 comments
How far is it realistic to start Android apps in WebVM?
What are the missing parts?
Such a solution could for example use a root file system of www.android-x86.org or https://github.com/remote-android/redroid-doc.
Applications in the root file system with high CPU or memory usage could be recompiled to JS or Wasm by using the feature described in copy/v86#397.
Emulating the whole Linux kernel like https://copy.sh/v86/?profile=android does it might be to slow with recent Android versions.
In addition v86 does not support SSE3 (See copy/v86#397)
Therefore I guess WebVM would be the right solution to get Android apps up and running in a Browser.
The technology powering WebVM (CheerpX) could be adapted to run Android apps (even for ARM, by implementing support for the ISA), but this falls outside of the WebVM living demo.
Please consider that:
- Android is not truly Linux: in particular the Binder API is very complex and would need to be implemented in CheerpX to run Android apps
- Running the unmodified Android kernel is not currently possible because CheerpX can only run user-space applications and does not support system-level features such as Paging
When, in the future, we will implement proper system-mode in CheerpX it will be possible to run unmodified kernels, including the Android one. At that point we may revisit this decision.