首页 > 技术知识 > 正文

hi,大家好。这里依然是鸽王小A,好久不见啦。催更的小伙伴不要再给我寄刀片了😅。这里再插一句,今天是确实是Chapter7,没有Chaper6,因为之前发重复了。

引:

经过一段时间的探索,HarmonyOS的旅途已经渐入佳境啦。在正式撸代码前,我们还有一个课题,那就是如何创造自己的application。

前面我们一直在使用【python build.py wifiiot】命令进行编译,这里的wifiiot实际就是一个被定义好的产品和application。那么为了在学习过程中不污染原始代码,并且同时可以对照参考sample,也方便我们自己对我们心中想要做的东西有个定制化,小A觉得我有必要搭建我自己的application。

目前现有的application有两个:demo和wifiiot,小A想创建的新application姑且就叫做smartMM<聪明的萌萌>吧。先给大家看下主要有哪些要改的,如下图蓝框。

[HarmonyOS之旅]  Chapter7 – smartMM

要改的其实并不是很多,那么我们就自顶向下的来看一看吧。

step1:

新增的smartMM其实就是一个我定义的新产品解决方案。所以先新增一个产品解决方案的配置:build/lite/product/smartMM.json。构建时会读取该文件包含所有用户自定义子系统、组件等配置。我们可以直接cp wifiiot.json过来修改。修改如下:

[HarmonyOS之旅]  Chapter7 – smartMM1

step2:

新增 :applications/sample/smartMM/,这一步我们先直接copy applications/sample/wifi-iot过来就行,无需修改。

step3:

修改:vendor/hisi/hi3861/hi3861/SConstruct

[HarmonyOS之旅]  Chapter7 – smartMM2

这里原本做了区别限制,现在我们要让smartMM和wifiiot享受同样的待遇。

step4:

修改:vendor/hisi/hi3861/hi3861/hm_build.sh

[HarmonyOS之旅]  Chapter7 – smartMM3

这里的修改主要是为了适配几个目标路径,让smartMM有个自己的窝,不用和别人打架。

step5:

新增:vendor/hisi/hi3861/hi3861/app/smartMM,copy vendor/hisi/hi3861/hi3861/app/wifiiot_app得来的,并做了一定的修改适配。

[HarmonyOS之旅]  Chapter7 – smartMM4

经过以上几步,就可以了,下面我们看看最终结果吧。

验证:

python build.py smartMM

[HarmonyOS之旅]  Chapter7 – smartMM5

编译无问题。

[HarmonyOS之旅]  Chapter7 – smartMM6

同时生成的固件和路径也达到了我们的预期。

next:我们验证下编译标准的wifiiot,先修改vendor/hisi/hi3861/hi3861/hm_build.sh,反注释为下面两行

[HarmonyOS之旅]  Chapter7 – smartMM7

最终编译结果:

[HarmonyOS之旅]  Chapter7 – smartMM8

可以看到,wifiiot和smartMM的编译结果井水不犯河水,各自安好。至此,smartMM的application框架已经基本搭建好了,剩下的就是我们慢慢雕琢了。

总结:

以上就是如何在HarmonyOS源码中新增自己客制化的产品的大致步骤了,如果作为产品话的话,其实还是可以写的更完善的。更多的就留给大家各自发挥吧。see you!

猜你喜欢