Android NDK开发

       最近准备换工作了,简历上有ndk开发的技能始终是一大亮点。于是就来捣鼓捣鼓NDK开发。关于网上的关于NDK开发的文章真的是太多了,但是就算是按照他们的步骤一步步来都是入了很大的坑。有时候我都觉得是我人品太不好了吧。感觉电脑或Android studio都和我作对,哈哈哈。为何别人的在我这里来总是有太多坑了。如今坑已填。必须得记录一下

1.在进行ndk开发之时首先是要检查一下ndk是否安装,且是否配置好环境变量。此步省略。网上搜索有很多

2.Android studio新建一个DNKDemo的项目:

Android NDK开发

关于上面打勾的地方,如果不打勾就是咱们平时建的工程,也可进行NDK开发。如果打勾了新建的项目下面有一个cpp文件夹,并且在MainActivity类里会给你新建一个对应的native方法和对应的调用示例如下。但是采用打勾的方式在生成so的时候报错了,因为生成so库是默认是在jni夹下,对于怎么修改我就没有仔细研究啦。对于这个问题咱也不敢向谷歌说,咱也不敢问。哪位大佬知道请告知一下小弟我。在此先谢谢啦。所以后面的步骤成功生成so库的是没有打勾的项目啦。当然我会把打勾的进行到哪一步了的步骤图在最后面贴出来。

Android NDK开发

Android NDK开发

3.在项目下新建一个NDKTest的类,用于写我们的native方法

Android NDK开发

4.生成.h的头文件,这步很多网上的命令我都生成失败报各种错,这就是我入的第一个坑了。

Android NDK开发

我们在工程的目录下会找到生成的jni目录和头文件了:

Android NDK开发

5.在jni目录下新建NdkTest.cpp的C++文件,用于编写我们的c++方法了。然后再新建Android.mk,Application.mk文件,cpp文件对应的就是我们的native方法了

 

Android NDK开发

Android NDK开发

下图为Android.mk文件的内容:注意这里面的内容不容出错

Android NDK开发

下图为application.mk文件夹的内容:

Android NDK开发

6.进入jni目录下使用ndk-build命令生成so库

Android NDK开发

Android NDK开发

 

 

 

 

后面的图为打勾的步骤图

生成头文件

Android NDK开发

生成so库,报错

Android NDK开发