鸿蒙APP真机运行及证书签名打包

1、真机运行

1.1、运行安装错误

Failure[INSTALL_PARSE_FAILED_USESDK_ERROR] 

原因:就是APP的高版本API和真机的低版本API不兼容,导致运行安装到真机上失败,高版本API9不能兼容鸿蒙3.0的真机系统。

目前只有一台华为真机,其鸿蒙系统版本是3.0.0.168,而我安装的sdk版本是最新的,如下面的图所示

在这里插入图片描述
在这里插入图片描述
此时看到的现象是:Device设备能选到,点击执行安装APP时,就报错INSTALL_PARSE_FAILED_USESDK_ERROR ,执行hdc list targets 命令始终是[Empty]。

hdc指令可能会遇到error: no devices/emulators found 这种错误,插拔一下真机设备,很可能就是连接没成功,反复多试几次,直至成功,找到驱动,获取真机的API版本,如下图所示:
在这里插入图片描述
确认了华为真机鸿蒙系统的API版本是6,我想继续在这台真机上安装调试APP,怎么办呢?

1.2、解决方案:

第一步:安装兼容真机的sdk版本2.2.0(API6),如下图所示
在这里插入图片描述
在这里插入图片描述
第二步:新建一个API6的工程项目
不能直接修改/build-profile.json5配置文件中的版本,因为会报错。
在这里插入图片描述
一定要注意,API6开发语言变成JS和JAVA,并没有ArkTs,所以这是比较坑的地方。对老版本鸿蒙系统不是很礼貌。

第三步:运行API6创建的工程项目
在这里插入图片描述
第四步:配置Debug签名
点击右下角的"open signing configs"按钮,进入之后,点击“Sign in”按钮,如下图所示:
在这里插入图片描述

会自动跳转到华为官方网站,登录华为账号(没账号,自己去申请开发者账号,这是门槛),授权登录,最后直到弹出如下界面:
在这里插入图片描述
根据指示回到IDE,看到新弹出一个界面,如下图所示:
在这里插入图片描述
点击“Agree”按钮,ide编译器自动生成了一个Debug签名文件,如下图所示:
在这里插入图片描述
其中Release的签名还没有,后面我们再来处理,继续点击“OK”按钮,窗口自动关闭。

第五步:再次运行
继续点击运行安装到真机按钮“Run entry”,运行成功,应用已被安装到真机上,如下图所示:
在这里插入图片描述

1.3、安装小结

  • 鸿蒙3.0的系统安装真机运行,最重要的就是检查API的版本,高版本是不兼容低版本的API;
  • HDC指令获取真机API版本,经常会出现无法找到驱动设备,所以要反复尝试插拔连接好,必要时可以hdc kill一下;
  • 必须依赖华为开发者账号,并根据引导自动获取Debug签名信息;
  • 低版本的API并不支持ArtTS语言开发。

2、正式版签名并打包

签名APP时需要4个关键的签名相关文件,它们是.p12、.csr、.p7b、.cer,构建这些文件还是有点繁琐的,这4个文件怎么用,我们后面的步骤再说,先磨刀后砍柴。

.

  • p12:密钥,格式为.p12,包含非对称加密中使用的公钥和私钥,存储在密钥库文件中,公钥和私钥对用于数字签名和验证。

  • csr:证书请求文件,格式为.csr,全称为Certificate Signing
    Request,包含密钥对中的公钥和公共名称、组织名称、组织单位等信息,用于向AppGallery Connect申请数字证书。

  • .p7b:Profile文件,格式为.p7b,包含HarmonyOS应用的包名、数字证书信息、描述应用允许申请的证书权限列表,以及允许应用调试的设备列表(如果应用类型为Release类型,则设备列表为空)等内容,每个应用包中均必须包含一个Profile文件,分为调试Profile和发布Profile。

  • .cer:数字证书,格式为.cer,由华为AppGallery Connect颁发,分为应用调试证书和应用发布证书。

这个4个文件从哪里来呢?接下来就来看看怎么创建。

2.1、创建p12和csr文件

.p12和.csr文件是本地文件,所以合并来讲,其有两种方式实现,在IDE中创建和通过Cmd命令来创建。

2.1.1、第一种:在IDE中创建签名文件

第一步:先点击Build/Generate Key and CSR菜单
如下图所示:
在这里插入图片描述

第二步:选择key store file文件
可以看到生成CSR之前还需要选择一个*.p12的文件,由于没有,所以点击New,但是还是需要一个key store file 文件,如下图所示:
在这里插入图片描述

第三步:设置.p12文件存储的位置及密码
注意在上图中的第二处,是让你选择p12文件存储的目录及文件名,如下图所示,
在这里插入图片描述

第四步:填写必要的信息
点击OK按钮,填写必要的信息,如下图所示:
在这里插入图片描述

点击Next按钮就会在D:根目录下生成my_ide_key.p12两个文件,但遗憾的是,并不会那么顺利,会报错,如下图所示:

在这里插入图片描述

原因是D:\盘是我的系统盘,权限可能不足,我存储到E:\my_ide_key.p12这个路径,问题顺利解决,弹出新的界面,如下图所示

在这里插入图片描述

第五步:查看p12和csr文件
点击Finish按钮,到E:\盘根目录下查看生成的.p12 、.csr两个文件,如下图所示:

在这里插入图片描述

2.1.2、通过Cmd命令来生成签名文件

第一步:生成P12密钥文件
在Cmd命令行工具中,执行下面的指令来生成:

keytool -genkeypair -alias "my_second_application" -keyalg EC -sigalg SHA256withECDSA -dname "C=CN,O=HUAWEI,OU=HUAWEI IDE,CN=my_second_application"  -keystore d:\\mysecondapplicationkey.p12 -storetype pkcs12 -validity 9125 -storepass 12345678Asd -keypass 12345678Asd

其中“my_second_appliction”是别名、"d:\mysecondapplicationkey.p12"是p12文件保存的路径、“12345678Asd”是其密码(必须要包含数字及大小写字母),都可以自己修改。

如果遇到下面这种错误,请搜索cmd.exe并使用管理员权限运行即可解决

keytool 错误: java.io.FileNotFoundException: d:\mysecondapplicationkey.p12 (客户端没有所需的特权。)

最终cmd命令执行结果如下就表示生成p12文件成功,如下图所示
在这里插入图片描述
必须先生成p12文件,然后在p12文件的基础上再生成.csr文件,因为生成csr时需要输入p12的密钥库口令,也就是前面设置的"12345678Asd"。

第三步:查看生成的p12和csr文件
在这里插入图片描述

2.2、创建cer文件

这个文件申请有一个强制要求,就是必须要在AppGallery Connect上创建一个应用,然后才能获取得到.cer文件。
AppGallery Connect访问地址:https://developer.huawei.com/consumer/cn/service/josp/agc/index.html#/
,进入此网址后,如下图所示:

在这里插入图片描述

点击“新增证书”按钮,填写能填的信息,如下图所示:
在这里插入图片描述
点击”选取“按钮,选择前面步骤中在本地创建好的D:/mysecondapplicationkey.csr这个文件,点击提交,如下图所示:
在这里插入图片描述
提交之后,就生成了我们发布证书,点击证书下载,即可获得.cer文件,如下图所示:
在这里插入图片描述
到此目前获得了3个文件,如下图所示:

在这里插入图片描述

2.3、创建p7b文件

第一步:回到AppGallery connect的主界面,如下图所示:

在这里插入图片描述
第二步:点击”我的项目“,进入界面,如下图所示:
在这里插入图片描述
第三步:点击”添加项目“,输入项目名称,并点击”创建并继续“按钮,如下图所示
在这里插入图片描述
第四步:可手动关闭为此项目启动分析服务,减少步骤,如下图所示
在这里插入图片描述
第五步:点击”完成“之后,开始为此项目添加应用,如下图所示:
在这里插入图片描述
第六步:添加应用

点击”添加应用“按钮,输入必填信息,如下图所示:

在这里插入图片描述
第七步:添加应用成功后,添加HAP Provision Profile,如下图所示:
在这里插入图片描述
第八步:下载p7b证书,如下图所示:
在这里插入图片描述
第九步:查看证书,如下图所示:
在这里插入图片描述

3、配置Release签名信息

打开项目的Project Structure界面,选择Siging Configs菜单,配置好准备的文件信息,如下图所示:
在这里插入图片描述
点击OK完成配置,会自动关闭此界面,就可以去打出签名包了。

4、打包hap和app

点击Build菜单,即可打包hap和App,如下图所示
在这里插入图片描述
签名后的应用,打包出来的结果如下图所示:
在这里插入图片描述

5、总结

整个签名到打包的过程确实很漫长,4个签名相关的文件创建就要费九牛二虎之力,还需要要开发者账号才可以做鸿蒙开发,所以门槛还是存在,务必要注意cmd工具在使用时需要运行管理员权限再执行,hdc命令也是一样,遇到失败多尝试,总会解决。

  • 10
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值