怎么编译鸿蒙APP

在线课堂:https://www.100ask.net/index(课程观看)
论  坛:http://bbs.100ask.net/(学术答疑)
开 发 板:https://100ask.taobao.com/ (淘宝)
     https://weidongshan.tmall.com/(天猫)
交流群一:QQ群:869222007(鸿蒙开发/Linux/嵌入式/驱动/资料下载)
交流群二:QQ群:536785813(单片机-嵌入式)
公 众 号:百问科技


版本日期作者说明
V12020韦东山技术文档

第四章 编译其他APP

1.1 获取源码

我们提供了这几个程序:
在这里插入图片描述
放在GITEE上,地址为:https://gitee.com/weidongshan/openharmony_for_imx6ull
为了方便,可以在Ubuntu中执行以下命令直接下载:

cd  /home/book
git  clone  https://gitee.com/weidongshan/openharmony_for_imx6ull.git

这将会得到这个目录:/home/book/openharmony_for_imx6ull

1.2 编译程序

假设已经下载得到/home/book/openharmony_for_imx6ull目录,执行以下命令即可编译:

cd  /home/book/openharmony_for_imx6ull/apps
for i in $(ls); do cd $i; make; cd -; done

解释以下上面的命令。

$(ls)里列出了这几个目录:digital_photo_frame fb_test freetype hello。

对于其中的每一项“$i”,执行(do)这些命令:cd $i; make; cd -。就是进入该

目录,执行make命令,退到上一级目录。
你当然可以自己进入那些子目录,手工执行make命令。

注意:
(1)freetype、digital_photo_frame这2个程序,需要使用到前面编译出来的hi3518ev300的库文件。
(2)所以需要先执行“python build.py ipcamera_hi3518ev300 -b debug”
(3)如果鸿蒙源码的路径不是/home/book/openharmony,那么需要修改Makefile,如下修改路径:

在这里插入图片描述

1.3 复制程序到rootfs

这2个程序不依赖其他动态库:hello、fb_test;但是freetype程序依赖libfreetype.so、digital_photo_frame程序依赖libfreetype.so、libjpeg.so。

这几个动态库在哪?我们取个巧,之前在《1.2.4 编译官方版本》执行过“python build.py ipcamera_hi3518ev300 -b debug”,它为hi3518ev300开发板生成了这写库文件。hi3518ev300与imx6ull同属cortex A7架构,所以imx6ull可以使用这些库。以后完善imx6ull的代码后,就不需要这样取巧了。

执行以下命令复制程序:

cd  /home/book/openharmony_for_imx6ull/apps
# 拷贝应用程序
cp hello/hello  /home/book/openharmony/kernel/liteos_a/out/imx6ull/rootfs/bin
cp fb_test/fb_test  /home/book/openharmony/kernel/liteos_a/out/imx6ull/rootfs/bin
cp freetype/show_line /home/book/openharmony/kernel/liteos_a/out/imx6ull/rootfs/bin
cp digital_photo_frame/digitpic /home/book/openharmony/kernel/liteos_a/out/imx6ull/rootfs/bin
# 拷贝字体文件
cp freetype/simsun.ttc  /home/book/openharmony/kernel/liteos_a/out/imx6ull/rootfs/
# 拷贝数码相框的图标
cp digital_photo_frame/rootfs /home/book/openharmony/kernel/liteos_a/out/imx6ull/rootfs/  -rf
# 拷贝库文件
cp /home/book/openharmony/out/ipcamera_hi3518ev300/libs/usr/libfreetype.so /home/book/openharmony/kernel/liteos_a/out/imx6ull/rootfs/usr/lib/
cp /home/book/openharmony/out/ipcamera_hi3518ev300/libs/usr/libjpeg.so /home/book/openharmony/kernel/liteos_a/out/imx6ull/rootfs/usr/lib/

1.4 制作rootfs.jffs2

执行以下命令:

cd  /home/book/openharmony/kernel/liteos_a/out/imx6ull/
mkfs.jffs2  -s 0x10000 -e 0x10000 -d rootfs -o rootfs.jffs2

把得到的rootfs.jffs2放到烧写工具的files目录,就可以使用烧写工具启动了:
在这里插入图片描述

1.5 执行APP

这些APP,可以直接执行,如果需要参数的话,它会提示用法。
注意:必须用相对路径,比如“./bin/hello”;不能用绝对路径,比如“/bin/hello”

1.5.1 fb_test

执行以下命令:

./bin/fb_test /dev/fb0

效果如下:
在这里插入图片描述

1.5.2 show_line

执行以下命令:

./bin/show_line /simsun.ttc 230 230 100

效果如下:
在这里插入图片描述

1.5.3 digitpic

执行以下命令:

./bin/digitpic /simsun.ttc

可以点击屏幕上的图标,效果如下:
在这里插入图片描述


百问网技术论坛:
http://bbs.100ask.net/

百问网官方wiki(资料下载):
http://wiki.100ask.org/

线上课堂:
https://www.100ask.net/index

百问网开发板:
淘宝:https://100ask.taobao.com/
天猫:https://weidongshan.tmall.com/

技术交流群(鸿蒙开发/Linux/嵌入式/驱动/资料下载)
QQ群:869222007

单片机-嵌入式Linux交流群:
QQ群:536785813
百问科技

百问科技公众号

在这里插入图片描述

百问科技服务号
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值