#HarmonyOS NEXT体验官# api11的使用-手动签名进行AppGallery Connect与项目文件的绑定 原创
当我们想使用harmonyos next版本的api11的时候,很多都是不可以直接使用的,我们这个时候需要在AppGallery Connect中给我们的项目打开api权限,才可以正常使用。
最开始我使用api11的时候,虽然跟着文档走,但是根本不理解为什么要这样做,最后出了问题也不知道是哪一步出现了问题,被折磨了好久,所以我把之前的步骤整理一遍并添加说明,帮助大家缩短踩坑的时间。
我们应该做什么
简单来说就是在我们的AppGallery Connect中对我们绑定的项目文件进行集中的权限管理,我们需要的权限可以在AppGallery Connect中进行开启。手动签名是获取项目文件与AppGallery Connect进行绑定的其中一种方式。
手动签名中我们使用api11需要涉及四个文件,分别是密钥(.p12)
、证书请求文件(.csr)
、数字证书(.cer)
、Profile文件(.p7b)
,如下图所示。
其中,密钥(.p12)
、数字证书(.cer)
、Profile文件(.p7b)
三个文件是我们在编译器中手动签名所需要的填写的文件。
而证书请求文件(.csr)
则是需要我们在AppGallery Connect中用来申请数字证书(.cer)
、Profile文件(.p7b)
两个文件所需要用到的文件。
我们应该怎么做
1.创建项目
创建项目谁都会,这里把这个放到第一位的原因是因为我们需要记住我们创建项目的包名,我们在AppGallery Connect中创建与项目绑定的应用中会用到
如果我们是需要开启已有项目文件的权限,则我们可以打开项目路径\AppScope\app.json5
文件,在其中查看:
2.生成p12、csr文件
点击Build > Generate Key and CSR
进入Generate Key and CSR页面,点击new,创建p12文件,点击右方的文件夹按钮,选择创建的路径
第一次创建这个路径的时候很懵逼,因为这个窗口和选择文件很像,所以容易选择路径后就不知道该怎么办了,我们要记得在下方输入我们的文件名称
接着我们把密码输入完整
之后我们把alias输上,这里的alias要记住,因为我们手动签名的时候会用到这个内容。输入完alias后,我, 要在下方的certificate中六个输入框中输入一点东西,我选择的是country code,直接写入cn就可以。
这样我们就可以点击next,进行下一步了。
生成csr文件也和生成p12文件相同的步骤。
这样,我们的p12文件和csr文件就准备好了。
3.生成cer文件
打开我们的AppGallery Connect (huawei.com)进入用户与访问
点击左侧导航栏的最下方的证书,这是我们管理我们的证书的页面。
点击生成证书,来生成我们的cer文件,把我们刚刚生成的csr文件给放进去,点击提交就可以生成我们的cer文件了
最后我们再将我们的证书从浏览器下载到我们的电脑中备用,等一会手动签名的时候进行使用.
4.添加设备
跟着文档中走,我们添加设备有些麻烦,需要查找设备的UDID,但是在这里,我们只要在我们的编译器中,配置一次自动签名,并且将我们任意项目的代码运行一次在手机上,设备就可以自动的添加上
5.在AppGallery中创建项目并添加应用
进入我的项目页面,点击添加项目,就跟着流程走就可以,最后进入应用设置页面
点击添加应用,添加后,我们就可以在这里面对我们的项目文件进行权限的管理。
选择我们的HarmonyOS平台,之后再点击下方的蓝字来配置我们的APP ID
在这里我们需要将我们之前最开始准备的包名输入进去
之后无脑下一步,最后就可以创建好我们的应用。
6.生成cer文件
进入我们的项目主页,点击左边的HAP Provision Profile,点击添加来生成我们的Profile文件。
将我们刚刚配置好的内容填入,点击提交就可以完成Profile文件的创建。
创建好之后,就可以把我们的Profile文件下载下来
这样我们所需的文件就全部准备完成了,就可以准备最后的一个步骤了。
7.开启权限
返回我们的项目首页,点击下方的添加公钥指纹。选择我们调试证书中的指纹,点击确认,然后在此等待十分钟(非常重要)。
我之前在这里遇到过两个坑,一个是通过在编译器中注入我们的公钥,复制我们的指纹通过左侧的添加证书指纹,但是怎么都用不了权限。另一个是通过右侧添加公钥指纹后,依旧使用不了权限,这个时候需要我们静静等待十分钟。
之后点击上方api管理,添加我们需要的api
8.手动配置签名
回到我们的编译器,左上角File > Project Structure > Project > Signing Configs,将我们刚刚生成的几个文件填入
最后点击ok完成配置
如果按照上面的步骤还是不能调用api11的话想一想有没有等10分钟。
感谢大佬的踩坑分享