NDK开发初探

2018-07-03  本文已影响0人  点石成金XIAS

最近项目需求少,学习一下NDK开发,下面是对NDK开发的初步探索,Android Studio版本3.0.1。

1.创建一个工程,记得要勾选Include C++ support,如图1所示:

图1

工程创建好后,在app线的build.gradle文件中可以看到有两处不同,如图2箭头所示:

图2

CMake是一款外部构建工具,可与 Gradle 搭配使用来构建原生库,用以取代ndk-build。更多内容请移至:向您的项目添加 C 和 C++ 代码

2.在src/main文件夹下多出一个cpp文件夹且文件夹下有有个native-lib.cpp文件,如图3所示,打开native-lib.cpp文件,如图4所示。

图3 图4

图4中的方法有改动,不是应用自动生成的模板,第一行中的extern "C" JNIEXPORT是默认的,jstring是函数的返回值,JNICALL也是默认。第二行是函数名,它的命名规范是以Java开头,其次com.bjhl.plugins.ndk.util是NativeUtil所在的包名,NativeUtil是Native所在方法的类名,最后stringFromJNI方法名,和Native方法名对应。NativeUtil类如图5所示:

图5 图6 图7 图8 图9

下面介绍一下GetMethodID方法的参数,如图9所示,GetMethodID方法有3个参数,第一个是要操作的jcalss对象,第二个是这个对象的构造方法,第3个参数代表的是构造方法中要传入的参数类型。详情请至JNI中java类型的简写 - hubingforever的日志 - 网易博客

项目源码:GitHub - xiaschina/NDKDemo

上一篇下一篇

猜你喜欢

热点阅读