升级鸿蒙so,鸿蒙⼿机版JNI实战案例解析(JNI开发、SO库⽣
成、SO库使⽤)
鸿蒙JNI开发现状
现阶段,不仅鸿蒙JNI相关的开发资料较少,⽽且Phone相关的JNI开发资料⼏乎没有,这对于新⼊⾏的鸿蒙开发者们来说,⾮常不友好。也可能会给Android⼯程(使⽤了SO库的⼯程)在迁移⾄鸿蒙系统时造成了阻碍。
案例演⽰
废话不多说了,接下来,我们来演⽰鸿蒙⼿机版⼯程是如何做JNI开发的。
案例1:Native项⽬
如果开发者们只是想做简单的Native开发,并⾮为第三⽅提供SO库,这就⾮常简单了,详细如下:
cmake如何使用1、创建Native C++⼯程
⽬前,通过DevEco-Studio创建创建Native C++模板类型的⼯程时,只有Car⽀持这种模板(Phone默认不
包含Native C++模板)。
不必担⼼,我们就先创建Car类型的⼯程,然后选择Native C++模板,如下图:
然后,输⼊⼯程名称等信息,如下图:
接下来,选择C++标准库,默认就可以了,如下图:
2、修改DeviceType配置
当前⼯程默认是Car类型的,想要⽀持⼿机,我们只需要修改DeviceType即可。
⾸先,到config.json⽂件,如下图:
将“car”改为“phone”,即可⽀持运⾏在⼿机设置上了(是不是超级简单呢),如下图:
3、测试
我这边使⽤的是鸿蒙⼿机进⾏测试的(鸿蒙⼿机是:由安卓P40升级的Harmony OS)。
另外,在真机上调试、运⾏⼯程,需要申请证书(我这边已申请,没有的同学,可以去华为官⽹申请)。
测试前,我们先看下默认的模板⼯程结构:
整体的调⽤流程也很简单:
开发者运⾏⼯程 --> build⼯程 --> 执⾏adle
--> 执⾏⾥⾯的externalNativeBuild --> ⽣成so库⽂件 --> app启动--> 页⾯加载 --> 调⽤MainAbilitySlice类 --> 查并加载so库
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论