HarmonyOS 鸿蒙Next 安装报错 install parse profile prop check error 解决方法
HarmonyOS 鸿蒙Next 安装报错 install parse profile prop check error 解决方法
2.解决方法
2.1 背景知识
当前对预置应用的特权进行强管控,这三个特权(AllowAppMultiProcess/AllowAppUsePrivilegeExtension/AllowFormVisibleNotify
)无法继续通过签名证书的方式生效,只能通过配置install_list_capability.json
的方式生效,格式如下:
{
"bundleName": "xxxxxx",
"app_signature" : ["yyyyy"],
"allowAppUsePrivilegeExtension": true
}
2.2 XTS用例修改方法
如果是XTS用例的HAP出现了msg:error: failed to install bundle. error: install parse profile prop check error,当前可以通过修改XTS测试套的bundleName(包括签名证书中的bundle-name),必须以com.acts.
为开头,例如:com.acts.myapplication
,签名证书中还是需要配置特权:AllowAppUsePrivilegeExtension
。
将测试套中的bundleName修改为com.acts.
为开头后,重新编译XTS HAP,查看能否正常安装。
2.3 本地调试方法
2.3.1 获取bundleName
确认Hap的包名,即bundleName;
2.3.2 获取app-signature字段
获取Hap的指纹信息,即app-signature字段。
方法一:可以先把module.json中的extensionAbilities 相关的type修改为其他类型,编译安装hap,通过命令获取,有值的字符串就是app-signature:
bm dump -n 包名 |grep finger
方法二:通过给Hap签名的后缀为.p7b的证书获取app-signature
(1) 将.p7b中的distribution-certificate字段单独拷贝出来,如下格式,命名为xxx.cer,注意换行和去掉换行符:
(2) 利用keytool工具打印对应的证书的指纹 keytool -printcert -file xxx.cer
结果:8E93863FC32EE238060BF69A9B37E2608FFFB2xxxxxxxxxxxBAC9F30024B5
(keytool工具 一般在jdk的安装路径或者SDK下面, 可以使用everything搜索一下 )
2.3.3 将板子上的install_list_capability.json拉到本地:
hdc_std shell mount -o rw,remount /
// 需要确认下 bundleName是否在这个json中
hdc_std file recv /system/variant/phone/base/etc/app/install_list_capability.json .
// 或者拉取下面的json,确认bundleName是否存在
hdc_std file recv /system/etc/app/install_list_capability.json .
// 如果两个json中,对应的bundleName均不存在,则可以将bundleName加在其中一个json文件中。
ps:如果在设备上文件路径不存在,可以执行下面命令,找到对应的json文件。
find -name install_list_capability.json
2.3.4 修改install_list_capability.json
按照如下格式追加,注意json格式不能出错,校验网站:https://www.json.cn/
配置: "allowAppUsePrivilegeExtension": true
...
{
"bundleName": "xxxxxx",
"app_signature" : ["yyyyy"],
"allowAppUsePrivilegeExtension": true
}
...
2.3.5 将修改后的install_list_capability.json推到板子上
推到板子上,重启即可。路径根据2.3.3中 拉取该文件的路径一致。
hdc_std shell mount -o rw,remount /
hdc_std file send install_list_capability.json /system/variant/phone/base/etc/app/install_list_capability.json
hdc_std shell chmod 777 /system/variant/phone/base/etc/app/install_list_capability.json
hdc_std shell reboot
或者
hdc_std shell mount -o rw,remount /
hdc_std file send install_list_capability.json /system/etc/app/install_list_capability.json
hdc_std shell chmod 777 /system/etc/app/install_list_capability.json
hdc_std shell reboot
ps:如果路径不存在,需要将推送文件的路径更换为2.3.3中的路径。如果推送失败,报readonly-system,可以尝试下面方法:
hdc_std shell mount -o remount,rw /chip_prod
2.3.6 继续安装Hap,查看是否能够安装成功。
更多关于HarmonyOS 鸿蒙Next 安装报错 install parse profile prop check error 解决方法的实战教程也可以访问 https://www.itying.com/category-93-b0.html
Failed to make module file path: /data/storage/el1/bundle/phone_statusbar/ets/Application/AbilityStage.abc
Failed to make module file path: /data/storage/el1/bundle/phone_statusbar/ets/ServiceExtAbility/ServiceExtAbility.abc
发现有这两条日志,但是又看到有下面这条日志
StatusBar_ServiceExtAbility --> onCreate, want: {"deviceId":"","bundleName":"com.ohos.systemui","abilityName":"com.ohos.syste。。。
确实应该是启动了,上面那个错误日志具体是什么意思呢?
更多关于HarmonyOS 鸿蒙Next 安装报错 install parse profile prop check error 解决方法的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
我的超人,感谢你
下载了screenlock这个模块来导入编译,编译出来的hap,安装的时候一直报error: install failed due to zero user can only install singleton app,我查了一下说是需要“1.系统hap打包时singleton设置为true”,但是我不是这个属性是怎么设置的。。。
先把hap包推到设备上后 使用hdc shell bm install -p 设备上的hap路径 -u 0 安装试试,
您好,请您通过在线提单进一步解决:https://developer.huawei.com/consumer/cn/support/feedback/#/,感谢您的反馈和支持。
姓名: John Doe
职位: 软件工程师
简介: 拥有超过10年的软件开发经验,擅长多种编程语言和技术。在多个领域都有项目经验,包括Web开发、移动应用开发和数据分析。