移动终端专区
Android / HarmonyOS / OpenHarmony 多端开发实践,纯静态图文展示
项目展示
Android应用运行截图 (webp, <=80KB)
HarmonyOS应用运行截图 (webp, <=80KB)
技术踩坑
HarmonyOS ArkUI状态管理 @State、@Prop、@Link装饰...
问题:
@State、@Prop、@Link装饰器在嵌套组件间传递时,容易出现状态不同步问题
解决方案:
建议使用 @Provide/@Consume 进行跨层级状态共享,避免逐层透传导致的冗余刷新。@Watch 回调中禁止直接修改被监听状态,否则触发无限递归。
@Provide/@Consume@Watch状态同步
Android多分辨率适配 传统dp适配在极端宽高比设备上仍会拉伸...
问题:
传统dp适配在极端宽高比设备上仍会拉伸
解决方案:
推荐使用今日头条 ScreenAdapter 方案(以设计图宽度为基准动态计算缩放比),或官方 WindowManager#getCurrentWindowMetrics() 获取精确像素密度。禁止硬编码px值。
ScreenAdapterWindowManagerdp适配
OpenHarmony HDF驱动编译路径 HDF驱动的编译产物路径与系统镜像打包路...
问题:
HDF驱动的编译产物路径与系统镜像打包路径需严格对应,稍有不慎即导致驱动未加载
解决方案:
建议在 bundle.json 中明确声明组件路径映射,通过 hb build 阶段检查产物是否正确落入 vendor 目录。
bundle.jsonhb buildvendor目录
跨端开发总结
一套业务逻辑同时兼容 Android、HarmonyOS、OpenHarmony 三端的架构设计思路:
01
核心业务层抽象
将业务逻辑与平台UI框架解耦,核心算法和数据模型用C/C++或跨平台语言实现,各端仅需编写UI适配层
02
差异层接口隔离
平台特有API(如Android的Intent、HarmonyOS的分布式能力、OpenHarmony的HDF驱动)通过接口隔离,运行时动态注入对应实现
03
统一构建与分发
CI/CD流水线按平台差异化构建产物,Android输出APK/AAB,HarmonyOS输出APP,OpenHarmony输出镜像包,统一版本管理