1.去NDK官网下载mac版的ndk,然后自己解压出来。
2.打开androidStudio正常新建一个显示"hello world" 的android工程.
3.配置NDK路径
(a)点击菜单栏File, ProjectStructure
(b)在弹出的窗口里,左侧选中SDKLocation
(c)然后在右侧Android NDK Location中填入刚才解压出来的NDK目录的路径,如图:
上面蓝色选中的路径就是我的NDK存放的路径。
4.编译生成.class文件。点菜单栏的Build, Make Project
这时,在工程的app/build/intermediates下就会生成classes文件夹,打开classes目录下的debug目录就会看到以你的包名命名的各级文件夹,最里边文件夹下有Java类对应的.class文件
5.假如现在要在mainActivity引用jni方法。在MainActivity类里添加下面代码
static { System.loadLibrary("myNativeLib"); }
这是用于声明本地代码库。
6.定义native方法(先在java层定义,待会到C里面去实现内容)。比如输入:
public native String getStringFromNative();
7.使用javah命令行生成jni目录及对应的头文件。
(a)进入当前java目录,也就是包的外层的目录(src/main/java)。
(b)在androidStudio下面底部的终端(Terminal)输入:
javah -d ../jni 你的包名.引用本地方法的类的名称
javah意思是生成一个.h头文件,-d ../jni的意思是生成一个位置是在当前目录(src/main/java)的上一级目录(即src/main目录)名字叫做jni的文件夹(directory);
比如我的工程下,这条命令是
javah -d ../jni com.example.yucan.mytest.MainActivity
然后就可以在工程目录下看到新建的jni文件夹下的头文件&#