目录
本文首发于电子发烧友论坛:https://bbs.elecfans.com/jishu_2474304_1_1.html
引言
很荣幸入选了“电子发烧友”的贝启科技BQ3568HM开源鸿蒙开发板评测活动,今天先测试一下官方示例程序。
示例测试
设备连接
使用USB线将开发板连接到电脑上,在命令行运行hdc list targets -v
命令查看设备状态,得到如下内容:
G:\HUAWEI\OpenHarmony\Sdk\11\toolchains>hdc list targets -v
150100414a54443452063df492a27a00 USB Connected localhost hdc
COM1 UART Ready hdc
运行Hello world示例
在官方提供的示例中,有一个是Hello word示例,即bq_hello.hap。可以执行命令hdc install C:\Users\Administrator\Downloads\bq_hello.hap
直接安装该程序,这时桌面会出现一个叫“label”的图标。点击该图标,会显示“Hello World”字样。
安装LED示例
官方还提供了一个控制LED灯的示例:bq_led.hap。安装该示例时产生如下错误:
G:\HUAWEI\OpenHarmony\Sdk\11\toolchains>hdc install C:\Users\Administrator\Downloads\bq_led.hap
[Info]App install path:C:\Users\Administrator\Downloads\bq_led.hap, queuesize:0, msg:error: failed to install bundle. code:9568347 error: install parse native so failed.
AppMod finish
产生该错误是由于设备支持的Abi类型与C++工程中配置的Abi类型不匹配。执行hdc shell param get const.product.cpu.abilist
命令得到该开发板的属性值为default。
在shell中执行如下命令:
# cd /system/
# ls
app bin etc fonts lib profile usr
可以看出该开发板没有lib64目录,则程序中的“abiFilters”参数中需要至少包含armeabi/armeabi-v7a中的一个类型。也就是说虽然该开发板是一个64位的ARM开发板,但是安装的OpenHarmony是32位的ARM版本。
而使用压缩软件打开bq_led.hap包,发现该软件采用的abiFilters是arm64-v8a,也就是说是64位的ARM应用,所以会出现上面的错误。
要解决这个问题,要么修改程序的“abiFilters”参数,使其增加32位ARM的支持,要么重新编译操作系统,安装64位的镜像文件。
结语
纯ArkTs的程序目前没有遇到什么问题,而包括C++代码的程序确实有些不匹配的地方。后面会继续测试。