手动方式调试HarmonyOS应用之鸿蒙本地签名配置
1、通过IDE生成证书请求文件(CSR)和签名秘钥文件P12,该秘钥可以用于所有鸿蒙应用进行调试
参考:https://developer.harmonyos.com/cn/docs/documentation/doc-guides/publish_app-0000001053223745#section9752152162813
2、获取 CER 证书文件,该证书可以用于所有鸿蒙应用进行调试
在 AppGallery Connect 首页(https://developer.huawei.com/consumer/cn/service/josp/agc/index.html#/),选择用户与访问,然后选择证书管理,选择新增证书,上传上一步生成的CSR文件,即可生成。然后下载到本地即可。
此步骤可以选择调试证书还是发布证书。测试发现选择发布证书时,本地配置签名后即使Profile中增加了该设备,也会报INSTALL_FAILED_APP_SOURCE_NOT_TRUSTED错误,所以选择调试证书用于调试,另外,调试证书个数有限制,一个账户最多两个调试证书,证书有效期也只有一年。
3、获取 P7B Profile文件,该文件仅用于当前应用调试
在 AppGallery Connect 首页,选择我的项目,选择你创建的某个项目(没有的话可以随便创建一个,创建完项目,还需要在该项目下创建一个应用,指定包名,这个就是对应当前应用的包名,一个项目可以创建多个应用,即可以用于为多个应用生成 P7B Profile 文件),找到HAP Provision Profile管理,选择添加,调试 Pofile 需要选择设备和CER证书。
其中 CER 证书用上一步生成的文件即可,调试设备需要在 AppGallery Connect 首页,用户与访问,设备管理中添加真机设备的 UDID,鸿蒙设备的 UDID 获取方式:
bm get -udid
如果没有bm命令或者bm不支持get,可以使用
dumpsys DdmpDeviceMonitorService ,其中"dev_udid"表示的就是UDID,注意要选择Local device的值,该命令列出的还有Remote device的 dev_udid
一个应用对应一个profile文件,如果有新的应用需要签名,1、2步骤的文件可以复用,但是步骤3的文件需要在 AppGallery Connect 重新申请创建下载使用
4、配置本地签名与Profile
打开 DevEco Studio 工程,选择File -> Project Structure -> Project -> Singing Configs -> Debug
Store file 选择第一步生成的自己私有的 P12 文件
Store Password 和 Alias 等3项填写第一步自己设置的值
Profile 选择第三步下载的 P7B 文件
Certpath File 选择第二步下载的 CER 文件
然后直接点击运行按钮,即可将应用安装到添加了UDID的真机上。
这一步的配置一般直接体现在项目级的 build.gradle 如下块中
ohos {
signingConfigs {
debug {
storeFile file('D:\\xxxxxx.p12')
storePassword 'xxxxx'
keyAlias = 'xxxx'
keyPassword 'xxxxx'
signAlg = 'SHA256withECDSA'
profile file('D:\\xxxxxx.p7b')
certpath file('D:\\xxxx.cer')
}
}
compileSdkVersion 7
}
PS:
如何添加设备UDID
在 AppGallery Connect 首页,选择用户与访问,然后选择设备管理,即可添加设备UDID用于调试
设备UDID获取方式
bm get -udid
如果没有bm命令或者bm不支持get,可以使用
dumpsys DdmpDeviceMonitorService ,其中"dev_udid"表示的就是UDID,注意要选择Local device的值,该命令列出的还有Remote device的 dev_udid