Android NDK开发
最近准备换工作了,简历上有ndk开发的技能始终是一大亮点。于是就来捣鼓捣鼓NDK开发。关于网上的关于NDK开发的文章真的是太多了,但是就算是按照他们的步骤一步步来都是入了很大的坑。有时候我都觉得是我人品太不好了吧。感觉电脑或Android studio都和我作对,哈哈哈。为何别人的在我这里来总是有太多坑了。如今坑已填。必须得记录一下
1.在进行ndk开发之时首先是要检查一下ndk是否安装,且是否配置好环境变量。此步省略。网上搜索有很多
2.Android studio新建一个DNKDemo的项目:
关于上面打勾的地方,如果不打勾就是咱们平时建的工程,也可进行NDK开发。如果打勾了新建的项目下面有一个cpp文件夹,并且在MainActivity类里会给你新建一个对应的native方法和对应的调用示例如下。但是采用打勾的方式在生成so的时候报错了,因为生成so库是默认是在jni夹下,对于怎么修改我就没有仔细研究啦。对于这个问题咱也不敢向谷歌说,咱也不敢问。哪位大佬知道请告知一下小弟我。在此先谢谢啦。所以后面的步骤成功生成so库的是没有打勾的项目啦。当然我会把打勾的进行到哪一步了的步骤图在最后面贴出来。
3.在项目下新建一个NDKTest的类,用于写我们的native方法
4.生成.h的头文件,这步很多网上的命令我都生成失败报各种错,这就是我入的第一个坑了。
我们在工程的目录下会找到生成的jni目录和头文件了:
5.在jni目录下新建NdkTest.cpp的C++文件,用于编写我们的c++方法了。然后再新建Android.mk,Application.mk文件,cpp文件对应的就是我们的native方法了
下图为Android.mk文件的内容:注意这里面的内容不容出错
下图为application.mk文件夹的内容:
6.进入jni目录下使用ndk-build命令生成so库
后面的图为打勾的步骤图
生成头文件
生成so库,报错