亲测!ArkUI在3516标准系统可以完美跑起来! 原创 精华

Mr_qzk
发布于 2021-11-5 11:43
浏览
9收藏

【本文正在参与优质创作者激励】
老规矩,先把成果放上来:
亲测!ArkUI在3516标准系统可以完美跑起来!-鸿蒙开发者社区

大家可以看到很明显这是一个ArkUI的应用,在远程模拟器上目前还只可以跑在P40Pro上
点击进入观看3516跑ArkUI视频

下图就是该应用跑在3516标准系统上的效果:
亲测!ArkUI在3516标准系统可以完美跑起来!-鸿蒙开发者社区

@toc

其实为了这个目的,其实只需要做到两个步骤,第一步整出一个ArkUI的应用来,第二步将该应用放上Hi3516跑起来,OK,这就是总体思路,然后顺着这个步骤,一步一步来做。

1.整一个ArkUI的应用

因为我这里的主要目的是为了测试3516标准系统是否支持ArkUI框架,所以仅仅写了一个超简单的demo,因为这demo还不属于本文章的重点哈。这个demo就是小示例:

1.1 首先创建一个声明式UI工程

如下图在deveco studio中创建工程的时候注意一下,别的没什么区别。
亲测!ArkUI在3516标准系统可以完美跑起来!-鸿蒙开发者社区

1.2 将图片放入对应目录

  • 右键resources文件夹,点击New>Resource Directory,选择Resource Type为Media(图片资源),选择资源限定词为Device-Phone,详细参考官方大大。
  • 这里需要注意的是如果采用把图片放在rawfile下的时候,这个时候在远程模拟器的P40Pro是可以完美显示的,但是在3516中图片显示不出来,具体原因还有待深究!有兴趣的大佬可以去深究一拨儿,我以后也会去看这个问题。

1.3 添加代码引用资源

直接将entry/src/main/default/pages/index.ets中的文件替换为如下内容:

@Entry
@Component
struct MyComponent {
  build() {
    Stack() {
        Image($r('app.media.cat'))
            .objectFit(ImageFit.Contain)
            .height(357)
        Text('Cat')
            .fontSize(26)
            .fontWeight(500)
    }
  }
}

1.4 修改应用名字

这个配置文件是string.json,所存在目录为:entry/src/main/resources/base/element/string.json
亲测!ArkUI在3516标准系统可以完美跑起来!-鸿蒙开发者社区

2.试着将应用放入Hi3516上跑起来

因为我们这个是属于把应用放入实体设备,所以签名这一步是必不可少的,签名完成后,在打出hap包后,再把hap包想办法扔进设备,并且可以运行。

2.1 openharmony签名打包

下面这几步骤就是openharmony签名过程,缺一不可。

2.1.1 生成密钥和证书请求文件

这里先了解哈这两个概念:
密钥:包含非对称加密中使用的公钥和私钥,存储在密钥库文件中,格式为.p12,公钥和私钥对用于数字签名和验证。
证书请求文件:格式为.csr,全称为Certificate Signing Request,包含密钥对中的公钥和公共名称、组织名称、组织单位等信息,用于向AppGallery Connect申请数字证书。

  • 1.然后操作方法就是打开你的deveco studio,然后按照下图进行操作:
    亲测!ArkUI在3516标准系统可以完美跑起来!-鸿蒙开发者社区
  • 2.然后就会弹出下述界面
    亲测!ArkUI在3516标准系统可以完美跑起来!-鸿蒙开发者社区
  • 3.如果是第一次使用的话,肯定是没有生成过密钥的,也就是.p12文件,所以这里需要new一个,这里需要重点关注的是new的时候会让你写一个密码,这个密码写了啥,一定要记住,后面会用,不然整个打包过程就会直接fail。
  • 4.接下来就按照提示填就可以了。
  • 5.这一步完成之后会生成一个.p12文件和一个.csr文件,这两个文件很重要缺一不可。

2.1.2 生成应用证书文件

生成应用证书文件的格式为.cer,由华为AppGallery Connect颁发。
先进入openharmonysdk的目录下,这里是deveco studio的安装目录,然后敲命令行,执行如下命令:
亲测!ArkUI在3516标准系统可以完美跑起来!-鸿蒙开发者社区

  • 1.keytool 是jdk中的一个工具,在我把路径加好之后仍然找不到,所以大家如果也遇到我的这个错误可以直接加上全路径。
  • 2.这里只需要关注的两个参数,一个是-input,另外一个是-output
    • 2.1 -input 这里需要填写的路径是在2.1.1步骤中生成的.csr文件。
    • 2.2 -output 这里需要填写的是这一次操作会生成的应用证书文件:.cer,这在签名中会用到

2.1.3 生成应用Profile文件

这一步和2.1.2一样需要先进入到deveco studio安装目录中的openharmony sdk路径下,然后敲命令行,如下图所示:
亲测!ArkUI在3516标准系统可以完美跑起来!-鸿蒙开发者社区

  • 1.命令中的provisionsigtool.jar这个文件在sdk目录中就存在
  • 2.这里需要注意的参数有-out和distribution-certificate
    • 2.1 -out这个参数指定本次生成的文件存放目录,为.p7b
    • 2.2 distrubution-certificate这个参数用来指定2.1.2中生成的.cer文件

2.1.4 配置应用签名信息

在deveco studio中按照下述图片点击出第二副配置界面:
亲测!ArkUI在3516标准系统可以完美跑起来!-鸿蒙开发者社区
按照上图点击Project Structure,然后弹出:
亲测!ArkUI在3516标准系统可以完美跑起来!-鸿蒙开发者社区

  • 1.上图中的.p12文件为2.1.1中生成的
  • 2.上图中的密码是2.1.1中设置的密码
  • 3.key alias 也是在2.1.1中设备的别名
  • 4.上图中的.p7b文件是在2.1.3中生成的
  • 5.上图中的.cer文件是在2.1.2中生成的

2.1.4 打release的hap包

按照下图所示,使用dev eco进行生成hap包
亲测!ArkUI在3516标准系统可以完美跑起来!-鸿蒙开发者社区

2.2 将2.1中生成好的带签名的hap包烧录进去系统。

PS:本身琢磨源码的想法,所以我没有采用工具进行安装,而是把hap包放入系统源码中,然后修改一些配置文件,让其成为系统的自带应用,然后编译,最后在烧录系统。这里对烧录系统有疑问,而你恰好也是ubuntu系统的话,可以参考我的上一篇文章:点击进入

2.2.1 将hap包放入指定位置

将hap包放入到applications/standard/hap目录下。
亲测!ArkUI在3516标准系统可以完美跑起来!-鸿蒙开发者社区
上图中可以看到我将hap包重新命名为了Temp.hap

2.2.2 修改编译配置文件

这里的编译配置文件一共需要修改两个,一个是BUILD.gn,另一个是ohos.build

  • applications/standard/hap/BUILD.gn ,按照下图进行添加
    亲测!ArkUI在3516标准系统可以完美跑起来!-鸿蒙开发者社区
  • applications/standard/hap/ohos.build ,按照下图进行添加:
    亲测!ArkUI在3516标准系统可以完美跑起来!-鸿蒙开发者社区

2.2.3 启动编译

执行下列命令进行编译:

./build.sh --product-name Hi3516DV300

编译完成之后,进行烧录,就可以看到诱人的ArkUI应用了

©著作权归作者所有,如需转载,请注明出处,否则将追究法律责任
已于2021-11-5 11:44:09修改
13
收藏 9
回复
举报
4条回复
按时间正序
/
按时间倒序
红叶亦知秋
红叶亦知秋

感谢大佬探路分享。

2
回复
2021-11-5 13:52:14
Whyalone
Whyalone

66666

2
回复
2021-11-8 10:05:58
爱吃土豆丝的打工人
爱吃土豆丝的打工人

厉害哇  三连一下、

回复
2021-11-9 09:09:42
Eternal_心
Eternal_心

生成的hap文件直接用hdc工具传到开发板上,不用烧录方式。

回复
2021-11-13 18:50:55
回复
    相关推荐