首页 / 行业
如何在鸿蒙系统上弄一个ArkUI应用
2021-11-15 09:28:00
大家可以看到很明显这是一个 ArkUI 的应用,在远程模拟器上目前还只可以跑在 P40 Pro 上。
其实为了这个目的,只需要做到两个步骤,第一步整出一个 ArkUI 的应用来,第二步将该应用放上 Hi3516 跑起来,OK,这就是总体思路,然后顺着这个步骤,一步一步来做。整一个 ArkUI的应用
因为我这里的主要目的是为了测试 3516 标准系统是否支持 ArkUI 框架,所以仅仅写了一个超简单的 demo,因为这 demo 还不属于本文章的重点,就是小示例。①首先创建一个声明式 UI 工程
如下图在 deveco studio 中创建工程的时候注意一下,别的没什么区别。
②将图片放入对应目录
右键 resources 文件夹,点击 New>Resource Directory,选择 Resource Type 为 Media(图片资源),选择资源限定词为 Device-Phone,详细参考官方大大。
这里需要注意的是如果采用把图片放在 rawfile 下的时候,这个时候在远程模拟器的 P40 Pro 是可以完美显示的,但是在 3516 中图片显示不出来,具体原因还有待深究!有兴趣的大佬可以去深究一拨儿,我以后也会去看这个问题。
③添加代码引用资源
直接将 entry/src/main/default/pages/index.ets 中的文件替换为如下内容:
@Entry@ComponentstructMyComponent{build(){Stack(){Image($r('app.media.cat')).objectFit(ImageFit.Contain).height(357)Text('Cat').fontSize(26).fontWeight(500)}}}
④修改应用名字
这个配置文件是 string.json,所存在目录为:
entry/src/main/resources/base/element/string.json
试着将应用放入 Hi3516 上跑起来
因为我们这个是属于把应用放入实体设备,所以签名这一步是必不可少的,签名完成后,在打出 hap 包后,再把 hap 包想办法扔进设备,并且可以运行。①openharmony 签名打包
下面这几步骤就是 openharmony 签名过程,缺一不可。生成密钥和证书请求文件,这里先了解哈这两个概念:
密钥:包含非对称加密中使用的公钥和私钥,存储在密钥库文件中,格式为 .p12,公钥和私钥对用于数字签名和验证。
证书请求文件:格式为 .csr,全称为 Certificate Signing Request,包含密钥对中的公钥和公共名称、组织名称、组织单位等信息,用于向 AppGallery Connect 申请数字证书。
然后操作方法就是打开你的 deveco studio,然后按照下图进行操作:
然后就会弹出下述界面:
如果是第一次使用的话,肯定是没有生成过密钥的,也就是 .p12 文件,所以这里需要 new 一个,这里需要重点关注的是 new 的时候会让你写一个密码,这个密码写了啥,一定要记住,后面会用,不然整个打包过程就会直接 fail。接下来就按照提示填就可以了。这一步完成之后会生成一个 .p12 文件和一个 .csr 文件,这两个文件很重要缺一不可。生成应用证书文件:生成应用证书文件的格式为 .cer,由华为 AppGallery Connect 颁发。
先进入 openharmonysdk 的目录下,这里是 deveco studio 的安装目录,然后敲命令行,执行如下命令:
keytool 是 jdk 中的一个工具,在我把路径加好之后仍然找不到,所以大家如果也遇到我的这个错误可以直接加上全路径。这里只需要关注的两个参数,一个是 -input,另外一个是 -output。-input:这里需要填写的路径是在上面步骤中生成的 .csr 文件。
-output:这里需要填写的是这一次操作会生成的应用证书文件:.cer,这在签名中会用到。
生成应用 Profile 文件:这一步和上面一样需要先进入到 deveco studio 安装目录中的 openharmony sdk 路径下,然后敲命令行,如下图所示:
命令中的 provisionsigtool.jar 这个文件在 sdk 目录中就存在。
这里需要注意的参数有 -out 和 distribution-certificate:
-out:这个参数指定本次生成的文件存放目录,为 .p7b。
distrubution-certificate:这个参数用来指定上文中生成的 .cer 文件。
配置应用签名信息:在 deveco studio 中按照下述图片点击出第二副配置界面:
按照上图点击 Project Structure,然后弹出:
上图中的 .p12 文件为 2.1.1 中生成的,上图中的密码是 2.1.1 中设置的密码,key alias 也是在 2.1.1 中设备的别名;上图中的 .p7b 文件是在 2.1.3 中生成的,上图中的 .cer 文件是在 2.1.2 中生成的。打 release 的 hap 包:按照下图所示,使用 dev eco 进行生成 hap 包。
②将上文中生成好的带签名的 hap 包烧录进去系统
PS:本身琢磨源码的想法,所以我没有采用工具进行安装,而是把 hap 包放入系统源码中,然后修改一些配置文件,让其成为系统的自带应用,然后编译,最后在烧录系统。这里对烧录系统有疑问,而你恰好也是 ubuntu 系统的话,可以参考我的上一篇文章:
https://harmonyos.51cto.com/posts/8994
将 hap 包放入指定位置:将 hap 包放入到 applications/standard/hap 目录下。
上图中可以看到我将 hap 包重新命名为了 Temp.hap。修改编译配置文件:这里的编译配置文件一共需要修改两个,一个是 BUILD.gn,另一个是 ohos.build。
applications/standard/hap/BUILD.gn,按照下图进行添加:
applications/standard/hap/ohos.build,按照下图进行添加:
启动编译:执行下列命令进行编译。
./build.sh--product-nameHi3516DV300
编译完成之后,进行烧录,就可以看到诱人的 ArkUI 应用了。
责任编辑:haq最新内容
手机 |
相关内容
半导体主控技术:驱动自动驾驶革命的
半导体主控技术:驱动自动驾驶革命的引擎,自动驾驶,交通,自动驾驶系统,数据,车辆,自动,随着科技的不断进步,自动驾驶技术已经成为现实台积电1.4nm,有了新进展
台积电1.4nm,有了新进展,台积电,行业,需求,竞争力,支持,芯片,近日,台积电(TSMC)宣布将探索1.4纳米技术,这是一项令人振奋的举措,将有望为E晶振在激光雷达系统中的作用
晶振在激光雷达系统中的作用,作用,系统,激光雷达,晶振,可靠性,选择,激光雷达(Lidar)是一种利用激光进行测距的技术,广泛应用于自动驾驶光耦仿真器简介和优势
光耦仿真器简介和优势,仿真器,参数,接收器,设计方案,耦合,器件,光耦仿真器是一种用于模拟光耦合器件的工具,它可以帮助工程师在设计芯片迈向系统化时代:EDA软件的创新
芯片迈向系统化时代:EDA软件的创新之路,时代,芯片,形式,支持,性能,验证,芯片设计是现代科技领域的重要组成部分,它涉及到电子设计自动STC15W芯片A/D、D/A转换的简单使用
STC15W芯片A/D、D/A转换的简单使用,简单使用,转换,芯片,模拟,输入,输出,STC15W系列芯片是一种高性能的单片机芯片,具有丰富的外设资Arbe 4D成像雷达以高分辨率雷达技
Arbe 4D成像雷达以高分辨率雷达技术和先进处理技术消除“幽灵刹车”问题,刹车,成像,分辨率,系统,目标,数据,Arbe 4D成像雷达是一种清华大学研发光电融合芯片,算力超商
清华大学研发光电融合芯片,算力超商用芯片三千余倍,芯片,研发,商用,测试,计算,科学研究,近日,清华大学发布了一项重要科研成果,他们成