Analysis updated 2026-06-24
Install an OpenHarmony HAP file on a regular Android 8.0 or newer phone and render its ArkUI page
Test ArkTS apps on Android hardware without an OpenHarmony device
Experiment with cross OS porting of HarmonyOS apps to the broader Android ecosystem
| harmony-on-android/hoa | amrdoh/clockmaster | omarahmedx14/my-android-playground | |
|---|---|---|---|
| Stars | 121 | 102 | 30 |
| Language | Kotlin | Kotlin | Kotlin |
| Setup difficulty | hard | easy | easy |
| Complexity | 5/5 | 2/5 | 2/5 |
| Audience | developer | general | developer |
Figures from each repo's GitHub metadata at analysis time.
Build chain depends on a parallel ArkUI-X checkout with patches and a working Android NDK, only 4 of 5 tested HAPs render correctly.
HOA stands for Harmony on Android. It is a project that lets an Android phone run apps built for OpenHarmony, the Huawei-led operating system. OpenHarmony apps come as files with the extension HAP, and they use a UI framework called ArkUI written in a language called ArkTS. Normally those files only run on OpenHarmony devices. HOA aims to load and execute them on a regular Android device instead. The README explains the approach. It builds on ArkUI-X version 6.1, which is an existing cross-platform port of ArkUI to Android, and patches six of its source repositories so that the runtime can load the original HAP format from OpenHarmony rather than the cross-built variant. The diagram in the README shows the HAP being unpacked by a HapInstaller, then an embedded ETS virtual machine and ACE rendering engine drawing the ArkUI page onto an Android SurfaceView. A Java-side flag called setOhosHapMode is passed through JNI into the ETS VM to switch on compatibility paths, including handling differences in ABC bytecode record naming between SDK 5.0 and 6.0. Building requires checking out the ArkUI-X source, running its build script for Android, syncing the result into the HOA project, and then running gradle assembleDebug. The full steps are in docs/BUILD.md. At runtime the user installs a HAP through MainActivity or launches a dev test activity via adb. Devices need Android 8.0 or newer and arm64-v8a. The README says 4 of 5 tested HAPs render correctly so far.
Android runtime that loads and executes OpenHarmony HAP apps written in ArkTS or ArkUI, by patching ArkUI-X 6.1 and bridging the ETS virtual machine to Android views.
Mainly Kotlin. The stack also includes Kotlin, Java, JNI.
Setup difficulty is rated hard, with roughly 1day+ to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.