关于HarmonyOS:真机运行HarmonyOS鸿蒙应用程序以及那些坑儿

116次阅读

共计 3183 个字符,预计需要花费 8 分钟才能阅读完成。

真机运行 HarmonyOS 鸿蒙应用程序以及那些坑儿

作者:韩茹

公司:程序咖(北京)科技有限公司

程序咖:IT 职业技能评测平台

网址:https://www.chengxuka.com

昨晚 6 月 2 号看 HarmonyOS 的发布会,激情磅礴,蠢蠢欲动。我有一个华为手机,6 月 3 号,上午备份数据,中午降级 HarmonyOS 零碎,下午就开始鼓捣真机跑程序了,也遇到了很多坑,记录下来。明天 4 号,我把这些整顿成文档,和大家共享。

一、前提

如果想在真机上运行一个 HarmonyOS 的利用,首先你要先搭建好 HarmonyOS 的开发环境,之前的文章有过。

  • 搭建好 HarmonyOS 的开发环境
  • DevEco Studio 开发工具上,创立好一个 HarmonyOS 的利用

二、生成密钥和证书申请文件

2.1 生成密钥

1、首先,在 DevEco Studio 开发工具上,抉择 Build–>Generate Key and CSR。

2、咱们先来生成 Key,就是密钥文件。这里要留神密钥文件的后缀必须是.p12,抉择好存储地位即可。

2.2 生成证书申请文件

1、接下面,持续填入信息。

2、而后生成证书申请文件,也就是 CSR 文件。这里要留神密钥文件的后缀必须是.csr,抉择好存储地位即可。

3、而后,咱们就会在刚刚所指定的目录下,生成了两个文件。一个是密钥文件 demo1.p12,以及证书申请文件 demo1.csr。

三、申请证书和 Profile

咱们须要关上 AppGallery Connect 网站,这里须要登陆。

3.1 申请利用调试证书

登陆后,抉择用户与拜访。

在左侧导航栏抉择“证书治理”,进入证书治理页面,点击“新增证书”。

在弹出的“新增证书”窗口,填写要申请的证书信息,点击“提交”。

而后在证书治理页面,咱们就能够看到刚刚增加好的调试证书了。还展现了证书名称、证书类型和生效日期。咱们得下载这个证书,到本地。

  • 点击“下载”,可下载证书。
  • 点击“破除”,在确认框中点击“确认”,可破除证书。

3.2 注册调试设施

还是刚刚到页面,咱们点击设备治理。进入设施治理页面,点击右上角的“增加设施”。

在弹出窗口填写设施信息,点击“提交”。

设施增加胜利后,展现在设施治理页面。如您需删除调试设施,点击“操作”列的“删除”即可。

踩个大坑儿

我之前为了获取我那部华为 Mate30 手机的 UDID。刚刚降级了 HarmonyOS 2.0 零碎,依据官网文档给的命令,就是获取不到,用 Mac 零碎连贯,用 Windows 零碎,来来回回各种折腾,起初还是分割了华为的一个工程师,才取到了 UDID。

这里我以 Mac 为例,Windows 零碎也是一样的。

UDID:设施惟一标识符,是由字母和数字组成的 64 位字符串。可在对应的调试设施上获取其 UDID, 调试设施要求运行 HarmonyOS 零碎

原理就是依据 toolchains 中的 hdc 命令来获取设施的 UDID。

首先要晓得你的 SDK 装置在哪里了,不晓得的话,能够关上 DevEco Studio,关上设置页面里的 HarmonyOS SDK,这个咱们之前配置环境变量的时候用过。

其实次要是用到这里 toolchains 下的 hdc 命令。

所以咱们须要配置环境变量。

1、关上 Mac 下的终端,输出以下命令,关上 bash_profile 文件。

sudo vim ~/.bash_profile

2、输出 i 进入 vim 编辑模式:

3、而后咱们输出上面数据:

export PATH=/Users/hanru/Library/Huawei/Sdk/toolchains:$PATH

4、而后按 esc 键退出编辑模式。并输出 :wq 而后回车,保留并退出编辑。可输出 vim .bash_profile 查看是否保留胜利。

5、输出 source ~/.bash_profile,让刚刚的配置失效。

6、而后输出 hdc help,发现 hdc 命令能够应用了。

到此咱们配置完了,而后将你的华为手机连入电脑。在弹出的窗口中抉择传输文件。

踩坑儿:

这里肯定要容许 USB 调试。否则一会儿命令会读不到设施。error: no devices/emulators found

而后咱们在终端先输出:

hdc shell

再输出:

bm get --udid

就能够看到这台手机的 UDID 了。

3.3 获取 Profile

1、咱们首先要创立一个我的项目。

而后抉择我的我的项目:

增加我的项目:

填写项目名称:

2、该我的项目下创立一个利用。

填入利用信息:

  • 抉择平台:抉择 APP(HarmonyOS 利用)。
  • 反对设施:抉择调试的设施类型。
  • 利用包名: 必须与 config.json 文件中的“bundleName”取值保持一致。
  • 利用名称、利用分类、默认语言请依据理论须要进行设置。

3、抉择“HarmonyOS 利用 > HAP Provision Profile 治理”,进入“治理 HAP Provision Profile”页面,点击右上角“增加”。

在弹出的“HarmonyAppProvision 信息”窗口增加调试 Profile,填入信息:

调试 Profile 申请胜利后,“治理 HAP Provision Profile”页面展现 Profile 名称、Profile 类型、增加的证书和生效日期。这里,咱们得下载下来。

  • 点击“下载”,可下载 Profile 文件。
  • 点击“删除”,在确认框中点击“确认”,可删除 Profile 文件。
  • 点击“查看设施”,可查看 Profile 绑定的调试设施。

到此,咱们有了利用调试证书:RubyHanMate30.cer,和 Profile 文件:HelloWorldDebug.p7b。

四、签名

接下来,咱们要进行签名。关上 File 下的 Project Structure。

进行签名:

签完后,能够在 build.gradle 文件下能够查看签名信息:

五、运行

而后运行程序即可。

咱们就可能看到手机上多了一个 App。


点进去查看一下运行成果:

六、原理

HarmonyOS 利用通过数字证书(.cer 文件)和 HarmonyAppProvision 文件(.p7b 文件)来保障利用的完整性,须要通过 DevEco Studio 来生成密钥文件(.p12 文件)和证书申请文件(.csr 文件)。同时,也能够应用命令行工具的形式来生成密钥文件和证书申请文件。

基本概念

  • 密钥 :蕴含非对称加密中应用的公钥和私钥,存储在密钥库文件中,格局为.p12。其中公钥用于内容的加密,私钥用于解密;在数字签名过程中,私钥用于数字签名,公钥用于解密。
  • 证书申请文件 :格局为.csr,全称为 Cerificate Signing Request,蕴含密钥对中的公钥和公共名称、组织名称、组织单位等信息,用于向 AppGallery Connect 申请数字证书。
  • 数字证书 :格局为.cer,由华为 AppGallery Connect 颁发。
  • HarmonyAppProvision 文件 :格局为.p7b,蕴含 HarmonyOS 利用的包名、数字证书信息、形容利用容许申请的证书权限列表,以及容许利用调试的设施列表(如果利用类型为 Release 类型,则设施列表为空)等内容,每个利用包中均必须蕴含一个 HarmonyAppProvision 文件。

所以,咱们用 DevEco Studio 学生成了密钥文件:DevEco Studio 生成

第二步,咱们生成了证书申请文件:DevEco Studio 生成

第三步,咱们获取了利用调试的数字证书:由华为 AppGallery Connect 颁发。

第四步,咱们获取了 Profile 文件 (HarmonyAppProvision 文件):从华为 AppGallery Connect 生成并下载获取。

第五步,到此筹备完结,而后去给程序签名,而后运行即可。

如果咱们想在手机上执行第二个应用程序,须要从新获取 Profile 文件。也就是说在 AppGallery Connect 网站上增加一个新的利用,增加新的 Profile,并下载。而后给程序签名,而后运行即可。

正文完
 0