Android NDK系列(二)-AS使用CmakeLists生成so文件

接着上个文章,继续看AS能怎么生成so文件。
Android NDK系列(一)-AS使用javah生成so文件 :http://blog.****.net/sw5131899/article/details/77183352

这个就简单多了,直接创建就行了。

1、创建一个项目工程

Android NDK系列(二)-AS使用CmakeLists生成so文件

Android NDK系列(二)-AS使用CmakeLists生成so文件

Android NDK系列(二)-AS使用CmakeLists生成so文件

我之前Cmake没有,那么直接install就Ok了。如果编译失败那就是ndk环境出问题了。

Android NDK系列(二)-AS使用CmakeLists生成so文件

2、编译CmakeLists.txt,指定生成路径。

Android NDK系列(二)-AS使用CmakeLists生成so文件

这个是Android Studio自动生成的,c++文件和System.loadlibrary,还有native方法。这个就很方便了,虽然没有头文件,头文件也是可以自己使用javah生成的。具体编写native方法就在MainActivity里,具体逻辑在native-lib.cpp方法中,这个和上个文章写得是一样的。那么生成的so文件制定位置需要在CmakeLists.txt中指定。

Android NDK系列(二)-AS使用CmakeLists生成so文件

在CmakeLists.txt中写入
,设置生成的so动态库最后输出的路径
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY PROJECTSOURCEDIR/../jniLibs/{ANDROID_ABI})

这样点击Build MakeProject 就可以生成了so文件。

Android NDK系列(二)-AS使用CmakeLists生成so文件

这就生成了so文件,很简单,需要使用就直接导出so文件就ok了。

感谢动脑学院NDK专题资源
http://ke.qq.com/cgi-bin/agency?aid=26937