简介:
本指南讲指导您端到端完成一个示例鸿蒙应用HAP的开发,并利用官方开发板HI3516DV300套件进行真机调试。过程中,我们将用到鸿蒙北向IDE DevEco和南向IDE VSC插件(可选),下载链接请前往鸿蒙官网
www.harmonyos.com下载,链接如下:
北向DevEco:
南向IDE:
一、 开发开发板配套的HAP
1. 创建工程
打开DevEco,确保软件运转正常,选择菜单中的File->New->New Project
在以上窗口中选择Lite Wearable和Empty Feature Ability,点击Finish
因为目前DevEco还不支持专门的开发板模板(因为开发板种类众多,后续也不一定会提供支持),所以此处只能选择较为简单的,与开发板类似的Lite Wearable,然后进行修改。
1. 修改config.json
DevEco按照LiteWearable模板生成的工程文件,必须进行修改才能适配开发板,否则无法在开发板中运行,修改包括如下三处:
{
"app": {
"bundleName": "com.SZHDG.demo",
"vendor": "SZHDG",
"version": {
"code": 1,
"name": "1.0"
},
"apiVersion": {
"compatible": 3,
"target": 3
}
},
"deviceConfig": {},
"module": {
"deviceType": [
"smartVision"
],
"distro": {
"deliveryWithInstall": true,
"moduleName": "entry",
"moduleType": "entry"
},
"abilities": [
{
"name": "default",
"icon": "$media:SZHDG",
"label": "SZHDGDemo",
"type": "page",
"visible": true
}
],
"js": [
{
"pages": [
"pages/index/index"
],
"name": "default"
}
]
}
}
修改deviceType为smartVision,smartVision是开发板特有的设备类型。在abilities的属性中增加"visible": true,是的ability变为可见,否则执行HAP时无界面显示。修改程序的图标文件"icon": "$media:SZHDG",模板中所用的图标文件为114*114,超出了开发板图标的尺寸,需要制作一个尺寸为88*88的png文件来替代。此文件的保存位置应该为Windows用户目录下的DevEcoStudioProjectsMyApplication1entrysrcmainresourcesbasemedia,其中MyApplication1是你的工程名。
2. 修改css
.
container {
display: flex;
justify-content: center;
align-items: center;
left: 0px;
top: 0px;
width: 960px;
height: 480px;
background-color: red;
}
.
title {
font-size: 30px;
text-align: center;
width: 800px;
height: 100px;
}
我们修改了container的宽度和高度,这是因为缺省的Lite Wearable的宽度和高度都是454,而我们的开发板分辨率是960*480,为了确保app铺满整个屏幕,需要修改为屏幕的分辨率。同时,因为我们后面会修改字的内容,增加很多字,所以我们也适当增宽title的宽度。
3. 修改hml
hml文件是鸿蒙app的界面定义文件,我们可以修改此文件以达到增加、修改、删除界面元素的目的。示例中我们进行如下的修改:
<div class="container">
<text class="title">
深鸿会 QQ群:665719006
{{title}}
</text>
<input type="button" value="关闭" onclick="Close()">
</input>
</div>
我们修改了text组件的内容,同时我们增加了一个button类型的input组件,这个按钮将实现关闭应用的功能,我们为其设置了文字以及关联的onclick函数。
4. 修改js
修改js的主要目的是为了增加Close函数,如下:
import app from '@system.app';
export default {
data: {
title: 'Shenzhen HarmonyOS Developer Group'
},
Close()
{
app.terminate();
}
}
在Close函数中,我们调用了system.app包中的app.terminate方法来关闭app。
5. 编译构建
点击菜单Build->Build APP(s)/Hap(s)->BuildDebug Hap(s)来进行debug版本的HAP构建。之所以选择debug版本是因为我们的调试过程并未经过完整的上线发布,无法进行release版本的分发,对于开发阶段而言,也不需要进行release版本的构建。
编译生成的HAP存放在如下的目录:
DevEcoStudioProjectsMyApplication1buildoutputshapdebugsmartVision
其中MyApplication1是你的工程名。
一、 安装HAP到开发板上
1. 转移HAP到开发板
编译完成的HAP我们需要转移到开发板上,有两种方式,这里我们介绍采用SD卡的方式。HI3516DV300是支持外插SD卡的,鸿蒙也对外置SD卡进行了支持,所以可以通过用PC拷贝到SD卡上,然后再把SD卡插入到开发板的方式来转移HAP包。需要注意的是,开发板支持的热插拔可能不完善,插入SD卡以后最好重启开发板。
2. 利用bm工具安装
开发板目前并没有集成app包管理软件,所以需要通过命令行工具来进行包的安装。鸿蒙提供了bm工具来进行app管理,bm工具在鸿蒙的构建包中就包含,存在于如下目录:
out/ipcamera_hi3516dv300/dev_tools/bin。bm工具可以和HAP一起放在SD卡中。
执行鸿蒙命令行,需要使用南向IDE,本指南假设您已经完成过鸿蒙的编译和烧写,已经能够熟练使用南向IDE,通过串口线连接南向IDE和开发板,进入鸿蒙shell。在南向IDE提供的串口中执行如下命令:
cd sdcard
./bm set -s disable
./bm set -d enable
./bm install -p test.hap
其中./bm set -s disable关闭了签名校验,./bm set -d enable开启了debug模式,./bm install -p test.hap为安装HAP到鸿蒙系统中,test.hap是你的HAP包的名字。
另外最近钊哥已经完成了对鸿蒙的一个PR,已经被合入主库,修改了bm工具,如果你已经下载了最新的鸿蒙代码,并重新构建过系统,那么上述三条命令可以精简为一条
./bm finstall -p test.hap
执行完安装以后,HAP的图标会出现在开发板屏幕上,如下图:
3. 卸载HAP
开发板自带的launcher具备了HAP卸载能力,可以在界面上长按HAP的图标,在弹出菜单中选择卸载来卸载安装的HAP。
二、 调试测试
1. 启动HAP
在开发板的界面中点击HAP的图标,即可启动HAP,如下图:
2. 观察HAP执行过程
在执行HAP的过程中,请不要断开串口连接,这样相关的HAP执行日志会打在南向IDE的界面上,可以通过观察日志来了解HAP的执行过程,如果出现问题,还可以通过日志信息来进行定位。如下图: