[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-77970":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":15,"stars7d":17,"stars30d":18,"stars90d":16,"forks30d":16,"starsTrendScore":13,"compositeScore":19,"rankGlobal":10,"rankLanguage":10,"license":10,"archived":20,"fork":20,"defaultBranch":21,"hasWiki":22,"hasPages":20,"topics":23,"createdAt":10,"pushedAt":10,"updatedAt":24,"readmeContent":25,"aiSummary":26,"trendingCount":16,"starSnapshotCount":16,"syncStatus":15,"lastSyncTime":27,"discoverSource":28},77970,"HOA","harmony-on-android\u002FHOA","harmony-on-android","Run OpenHarmony hap on Android","",null,"Kotlin",282,13,4,2,0,21,162,64.94,false,"master",true,[],"2026-06-12 04:01:22","# HOA — Harmony on Android\n\n在 Android 设备上运行 OpenHarmony HAP 应用。\n\n## 原理\n\nHOA 基于 ArkUI-X 6.1-Release 的 Android 构建体系，通过 6 个仓库的定向适配使运行时能够加载并执行 OHOS 原生格式的 HAP，将 ArkTS 页面渲染到 Android SurfaceView 上。\n\n```\n┌─────────────────────────────────┐\n│  HAP (entry.hap)                │\n│  ├── module.json                │\n│  ├── ets\u002Fmodules.abc            │  ← OHOS 原生字节码\n│  ├── resources.index            │\n│  └── resfile\u002F                   │\n└──────────┬──────────────────────┘\n           │ HapInstaller 解压\n           ▼\n┌─────────────────────────────────┐\n│  HOA Application                │\n│  ├── StageApplication           │  ← ArkUI-X 6.1 Android 适配器\n│  ├── libarkui_android.so        │  ← 内嵌 ETS VM + ACE 渲染引擎\n│  └── OHOS HAP Mode Patches      │  ← 6 仓库定向适配\n└──────────┬──────────────────────┘\n           │\n           ▼\n┌─────────────────────────────────┐\n│  Android SurfaceView            │\n│  └── Hello World (ArkUI)        │\n└─────────────────────────────────┘\n```\n\n关键机制：Java 层通过 `setOhosHapMode(true)` 设置环境变量，经 JNI 传入 ETS VM，在模块路由时激活 OHOS 兼容路径（自动适配 SDK 5.0\u002F6.0 ABC record 名格式差异），使 ArkUI-X 能正确加载 OHOS 编译的 ABC 文件。\n\n## 构建\n\n```bash\ncd \u003Carkui-x-source>\n.\u002Fbuild.sh --product-name arkui-x --target-os android\n\ncd \u003Choa-project>\n.\u002Fscripts\u002Fsync_arkui_x.sh\n.\u002Fgradlew assembleDebug\n```\n\n详见 `docs\u002FBUILD.md`。\n\n## 运行\n\n- **生产模式**：MainActivity → Install HAP（选择文件）→ 点击启动\n- **开发测试**：`adb shell am start -n app.hackeris.hoa\u002F.DevTestActivity --ez autoLaunch true`\n\n要求：Android 8.0+，arm64-v8a 设备。\n\n## 当前状态\n\nArkUI-X 6.1-Release 移植完成。5 个已安装 HAP 中 4 个正常渲染，支持安装\u002F预览\u002F启动\u002F卸载全流程。详见 `agents\u002FPROGRESS.md`。\n\n## 相关文档\n\n- `docs\u002FBUILD.md` — 完整构建文档\n- `docs\u002FARKUI-X_PATCHES.md` — ArkUI-X 源码修改说明\n- `agents\u002FPLAN.md` — 技术方案\n- `agents\u002FPROGRESS.md` — 项目进展\n","HOA 项目旨在实现在Android设备上运行OpenHarmony的HAP应用。它基于ArkUI-X 6.1-Release版本，通过定向适配六个关键仓库，使得OHOS原生格式的HAP能够在Android环境下被加载并执行，并将ArkTS页面渲染到Android的SurfaceView上。该项目利用JNI技术，在Java层设置环境变量来激活OHOS兼容路径，确保不同版本SDK编译的ABC文件能够正确加载。适合于需要在Android平台上测试或部署原本为OpenHarmony开发的应用场景，尤其是对于那些希望探索跨平台解决方案或者迁移现有OpenHarmony应用程序至更广泛用户群体的开发者来说非常有用。当前支持大部分基础功能，并已在特定条件下成功运行多个示例应用。","2026-06-11 03:56:17","CREATED_QUERY"]