个人 ERP 经验分享
首页 / 技术随笔 / 移动端

移动端 uni-app x 实战:一套代码出安卓/鸿蒙的取舍

把加工厂 ERP 带上手机,用一套代码同时出安卓和鸿蒙——选型、编译严格度、外壳架构与网络层踩过的坑。

移动端2026-10-09约 10 分钟

一、选型:从 Capacitor 转向 uni-app x

最初想用 Capacitor 把 Web 包一层出原生,很快发现它在我们这场景走不通——尤其鸿蒙侧的驱动和真机链路不顺畅。最终选定 uni-app x(HBuilderX 5.26),一套代码编译出安卓 App、鸿蒙 .hap 和 H5。前期只验证安卓 + 鸿蒙两端,小程序备案另行处理。

一个易漏点:工程必须被识别成 uni-app x——要在 manifest.json 补 uni-app-x 节点。缺它,工具链会把项目当成 JS 版 uni-app,编译通道全错。

二、坑:安卓编译最严,H5 绿 ≠ 安卓绿

三方通道里,安卓是类型检查最严的编译器,唯一能暴露 any 类问题的地方。H5 通道不会编译安卓/鸿蒙特有的条件分支(条件编译会把它们排除),所以 H5 跑通只证明语法层面,最终以安卓真机为准。

三、外壳架构:一个页面,多面板用 v-show 切

底部 tab 我们没有用内置 tabBar,而是自绘。整壳是一个页面 + 多个面板,用 v-show 切换(禁 v-if、禁换页),避免切换时整页重建丢状态。tab 定义收敛到唯一真源 common/ui/shell.uts,两套外壳(管理 / 车间)共用。

四、网络层两条铁律

移动端网络比桌面不可靠,两层设计直接决定稳定性:

五、复盘