NDK开发环境搭建
1.下载ndk-r10, 解压。下载地址
2.打开AS的设置页面,修改NDK的目录指向解压目录。

项目开发
1.在MainActivity中新建Native方法。
public native String getStringFromNative();
此处会显示为红色,不要担心,这不是报错。
2.Build –> Make Project,这一步是为了生成MainActivity对应的class文件,生成C的头文件时要用到。
3.打开命令行进入到yourapp/src/main目录下,用Javah命令生成C的头文件。
javah -d jni -classpath F:\SDK\sdk\platforms\android-23\android.jar;
F:SDK\sdk\extras\android\support\v4\android-support-v4.jar;
F:SDK\sdk\extras\android\support\v7\appcompat\libs\android-support-v7-appcompat.jar;
..\..\build\intermediates\classes\debug com.android.noflag.practicedemo.MainActivity
- 不要拷贝我的命令,其中可能含有HTML标签导致运行错误
- v4不是必须的,不加有可能编译报错
- 加v7包是因为我的Activity继承了AppcompatActivity
- 最后一个分号后面的部分指向的是工程下面Build目录里的class,告诉javah根据什么生成c的头文件。
4.新建一个.c文件,把生成的头文件中的c方法拷贝进去,并修改。
5.修改MainActivity,载入类库。
6.修改app的build.gradle,在defaultConfig下增加NDK分支。
7.修改gradle.properties,增加
android.useDeprecatedNdk=true
这个地方不是很明白,谷歌说1.3之后完全支持NDK的开发,不知道为什么编译的时候还是不通过。
8.build–>Rebuild Project,生成.so c库。
9.运行程序,完成。
如有不对的地方,欢迎大家拍砖。
学习过程中参考了两篇不错的博客,写下来跟大家分享。
http://blog.csdn.net/u014657752/article/details/48107371
http://blog.csdn.net/sodino/article/details/41946607