前言: 在开发鸿蒙的时候,现在有很多库都是C的或者有很多项目用C来写,也有很多项目需要C来进行性能优化和安全防护,尤其和硬件交互的,一些底层的驱动都是用C来写,现在鸿蒙PC出来以后,更多的驱动也需要用C来适配。但是ui 层或者某些系统的功能都是ArkTS 来进行实现的,如何用C调用ArkTS 的方法?是不是大家的困惑。那么我结合我的经验详细的给大家演示一遍。(尤其最后一步,一定要写)
解决方法:
首选创建一个NDK工程:
在这里插入图片描述

在这里插入图片描述
第二步: 创建一个ArkTS 的类,对外暴露ArkTS的方法
这个类在Module 下面,SayHello, 有一个方法SayHello.
在这里插入图片描述

第三步:在C中调用这个方法(请看下面详细的代码)

在这里插入图片描述
第四步:在C中对外暴露这个方法(这个主要是让你测试下是否能用)
4.1 先在.cpp 的文件中写入
在这里插入图片描述
4.2 在Index.d.ts 方法中导出方法
在这里插入图片描述
第五步: 在ArkTS中进行测试,见证奇迹
在这里插入图片描述
第六步:最最主要的步骤:需要在build-profle.json5 中配置ArKTS 的导出类
在这里插入图片描述

步骤四中如果看不懂,请看我的这个文章:
《鸿蒙开发-- 进阶版本 --如何在C中调用ArkTs的class类中的方法》

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐