需先确认uos为v20(2310)及以上版本并安装hap runtime;再开启开发者模式与未知来源安装权限;接着用uos-hap-toolkit将hap签名转为.uoshap格式;然后用uos-hap-installer命令安装;最后配置沙箱权限映射并启用。
如果您在统信uos系统上尝试运行鸿蒙应用(hap格式),但应用无法安装或启动,则可能是由于系统未启用兼容层、签名验证失败或运行环境缺失。以下是实现uoshap格式安装与使用的具体操作步骤:
一、确认系统版本与兼容环境支持
统信UOS需为V20(2310)及以上版本,并已预装或手动部署鸿蒙应用运行时环境(HarmonyOS Ability Package Runtime,简称HAP Runtime)。该环境提供Ability生命周期管理、FA/PA组件调度及ArkTS运行支撑能力。
1、打开终端,执行命令 cat /etc/os-version 查看当前UOS版本号。
2、执行命令 dpkg -l | grep hap-runtime 检查HAP运行时是否已安装。
3、若未安装,从统信软件商店搜索“鸿蒙应用运行时”并安装;或使用命令 sudo apt install hap-runtime 进行部署。
二、启用开发者模式与未知来源安装权限
uosHAP安装包默认受系统安全策略限制,需手动开启开发者调试通道及本地安装白名单,否则会提示“签名不合法”或“禁止安装未知来源应用”。
1、进入“控制中心”→“隐私与安全”→“安全中心”→“开发者选项”,将“USB调试”和“允许安装未知来源应用”两项开关置为开启状态。
2、在终端中执行命令 sudo uos-privilege-manager --enable hap-install 授权HAP安装特权。
3、重启“应用商店”服务:执行 killall appstore && uos-appstore &。
三、转换HAP包为uosHAP可识别格式
原始鸿蒙HAP包(.hap)需经签名重打包并注入UOS平台适配元信息,生成扩展名为.uoshap的兼容包,否则无法通过系统包校验。
1、下载统信官方工具集 uos-hap-toolkit,解压后进入tools目录。
2、执行命令 ./hap-signer --input app.hap --output app.uoshap --cert uos_dev_cert.p12 --pwd 123456,使用UOS开发者证书重签名。
3、验证生成结果:运行 ./hap-inspector app.uoshap,确认输出中包含 "platform": "uos" 字段。
四、通过命令行完成uosHAP安装
图形界面安装器对.uoshap识别不稳定,推荐使用系统级包管理命令直接安装,可绕过桌面环境校验逻辑并输出详细错误码。
1、确保设备处于登录用户会话中,且未锁屏。
2、在终端中执行 sudo uos-hap-installer --install /path/to/app.uoshap。
3、观察返回信息:成功时显示 "Install success, bundleName=com.example.app";失败时记录error code(如E102表示签名密钥不匹配)。
4、安装完成后,执行 uos-hap-launcher --bundle com.example.app 启动应用。
五、配置应用运行时沙箱与权限映射
HAP在UOS中以受限容器方式运行,需显式声明其所需Linux系统资源访问权限,否则可能出现文件读写失败、摄像头调用无响应等问题。
1、编辑应用根目录下的 config.json 文件,在 "module" 节点下添加 "reqPermissions" 数组。
2、填入对应UOS权限标识,例如:"ohos.permission.READ_MEDIA_IMAGES" 映射为 "org.deepin.dde.daemon.Permission.Media.Read"。
3、重新签名打包并安装后,在“控制中心”→“应用管理”→选择该应用→“权限管理”中手动启用对应系统级权限开关。










