studio 2.1下我的NDK

因为加载第三方.so库时候总是出问题,我在自己的studio下配置了NDK环境来了解下NDK编码的整个过程。

1.首先安装NDK:file>Project Structure>SDK Location 在页面中有install NDK的提示选项,点击安装就好了,装好后如下图所示:

2.新建一个项目hello,编写代码如下:

3.rebuild project 在Project 模式下可以看到


4.打开Terminal输入指令:cd hello\build\intermediates\classes\debug  

再输入指令javah -d jni -classpath D:\Android\sdk\platforms\android-15\android.jar; com.hello.hello.HelloActivity

然后就看到有头文件出现了(在Project模式下看),命令中-classpath是因为我没有配置该环境变量就要在这里设置了,不然会报不存在之类的错误。在src下新建jni文件夹将头文件剪切放入src/jni下。


5.在jni下新建hello.cpp实现头文件中的函数


6.jni 下新建 android.mk编写内容如下


7.build一下工程,有错误显示


根据提示,然后就去找到gradle.properties文件在最后添加

8.找到Hello下面的build.gradle,在defaultConfig下添加

ndk{
    moduleName "libhello"  //生成.so文件的名字
    abiFilters "armeabi", "armeabi-v7a", "x86" //为了适配不同abi所生成的三种库
}

重新build项目就会发现在HelloActivity中的本地方法已经不是红名了。运行项目


到此结束!

本文参考:1.http://www.codeceo.com/article/android-studio-ndk-jni.html

            2.http://www.open-open.com/lib/view/open1425962345263.html

    3.http://blog.csdn.net/jiuyueguang/article/details/9447245

猜你喜欢

转载自blog.csdn.net/QWZHJ/article/details/51899931