Twoyi is a lightweight Android container. It can run a relatively complete Android system as a normal app (no ROOT required) on Android. And it supports Android 8.1 ~ 12.
- Using Taiji·Yang without unlock bootloader; Xposed, EdXposed, and LSPosed can also be supported later(no ROOT required).
- Using ROOT function on Rootless devices.
- Magisk module will be partially supported.
- The HAL layer of Twoyi is virtualizable; e.g. virtual camera, etc.
- Twoyi can also be used for security research; e.g. shelling, etc.
- Twoyi is a rootless Android system-level container; it runs a relatively complete Android system inside and can be isolated to a certain extent from the external system.
- The internal Android version is Android 8.1; Android 10 will be supported later.
- The booting of Twoyi is very fast, the system can be booted in about three seconds except the first initialization.
- Twoyi is an open source project.
- The internal system of Twoyi will be fully customizable. Because its system is open source, you can pull a branch to compile AOSP; do custom development of system components, such as framework, HAL; implement virtual cameras, virtual sensors and other special features.
Twoyi is divided into two parts:
- the twoyi App, which is actually a UI rendering engine.
- the internal ROM of twoyi.
This repository is the twoyi App, and the twoyi ROM is opensource-ing; therefore, at this stage, the rootfs of the ROM cannot be compiled from the source code yet.
WIP
Twoyi is partially written in Rust, please install Rust and Cargo first
You can check it by running: ./gradlew cargoBuild
, if it succeed, you will see the libtwoyi.so in app/src/main/jniLibs/arm64-v8a
.
Please refer: cargo-ndk
The ROM of Twoyi is opensource-ing, so you cannot build it now. You can use the prebuilt ROM instead.
Extracting the rootfs.7z from the official release apk and put it in the app/assets
directory of this project.
Final step, just build it with Android Studio normally.