美文网首页
鸿蒙应用本地签名配置

鸿蒙应用本地签名配置

作者: 九烟大师 | 来源:发表于2022-06-14 14:00 被阅读0次

    手动方式调试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

    相关文章

      网友评论

          本文标题:鸿蒙应用本地签名配置

          本文链接:https://www.haomeiwen.com/subject/jarxvrtx.html