OpenHarmony应用重新签名后如何替换指纹
概述 在平时应用开发过程中,会遇到使用的api权限等级不够的情况,这时需要去升级权限重新签名,重新签名后不更新指纹信息会导致应用的预授权能力失效,此时就需要替换指纹信息。 环境描述 开发环境:Windows 10 DevEco Studio 版本:DevEco Studio 5.0.1 Release(
概述
在平时应用开发过程中,会遇到使用的api权限等级不够的情况,这时需要去升级权限重新签名,重新签名后不更新指纹信息会导致应用的预授权能力失效,此时就需要替换指纹信息。
环境描述
开发环境:Windows 10
DevEco Studio 版本:DevEco Studio 5.0.1 Release(5.0.5.315)
SDK 版本:5.0.0.70(Full SDK)
设备型号:黄鹂
系统版本:OpenHarmony 5.0.0.710
示例工程:Applications_Settings
操作步骤
1、删除Applications_Settings根目录下signature文件夹中所有文件
2、打开developtools_hapsigner仓库,进入dist目录,拷贝OpenHarmony.p12和OpenHarmonyApplication.pem文件到signature文件夹下,重命名.pem后缀成.cer文件
3、到HarmonyAppProvision目录(sdk存放目录)生成p7b文件并命名,生成p7b文件方法如下:
java -jar hap-sign-tool.jar sign-profile -keyAlias "OpenHarmony Application Profile Release" -signAlg "SHA256withECDSA" -mode "localSign" -profileCertFile OpenHarmonyProfileRelease.pem -inFile UnsgnedReleasedProfileTemplate.json -keystoreFile OpenHarmony.p12 -outFile xxx.p7b -keyPwd "123456" -keystorePwd "123456"
4、将生成的settings.p7b复制到signature目录下
5、点击deveco studio菜单栏File->Project Structure->Project->Signing Configs,取消Automatically generate signature勾选
Store File(.p12): 新添加的OpenHarmony.p12文件。
Store Password: 123456(固定值)。
Key Alias: OpenHarmony Application Release(固定值)。
Key Password: 123456(固定值)。
Profile File(.p7b): 新添加的settings.p7b文件。
Cerpath File(*.cer): 新添加的OpenHarmony.cer文件。
点击apply-ok
6、将应用编译hap,替换应用hap后重启设备,替换命令如下:
hdc shell "mount -o rw,remount /"
hdc shell "rm -rf /data/*"
hdc file send Settings.hap /system/app/com.ohos.settings/Settings.hap
hdc shell "reboot"
7、重启设备后cmd执行hdc shell "bm dump -n com.ohos.settings | grep finger"查看指纹信息
8、提取当前系统中的配置文件install_list_permissions.json ,文件位于system/etc/app/中,替换app_signature为我们在fingerprint中获取到的指纹信息并保存
9、将配置文件install_list_permissions.json推送回系统中,覆盖系统配置。
拉取 hdc file recv /etc/app/install_list_capability.json ./
推送 hdc shell "mount -o remount,rw /"
hdc file send d:\install_list_permissions.json system/etc/app
10、推送完配置文件之后,再替换应用hap重启设备生效。
更多推荐
所有评论(0)