1、下载NDK(Native Develop Kit)交叉编译工具,解压NDK开发工具集,随便哪里都行,看你自己的习惯,但是还是要自己知道,别什么时候不知不觉删了,然后开发JNI始终不行,怎么都找不到错误,那就杯具了。
2、在 local.properties 文件中设置ndk的路径:
ndk.dir=D:\android\android-ndk-r10d
(我的nkd的解压路径:D:\android\android-ndk-r10d)
3、头文件生成:
\\\1、建一个平时一样的android工程
\\\2、在需要调用C++函数的地方声明本地方法
public class MainActivity extends Activity {
static {
System.loadLibrary("hello");//加载交叉编译生成的模块,编译方法见后边
}
public native String hello();//navive标示是本地方法
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView textView = (TextView)findViewById(R.id.show);
textView.setText(hello());
}
}
\\\3、make project 一下,目的是生成class文件,我的项目生成后的路径:
(a)、D:\android\project\NDKDemo\app\build\intermediates\classes\debug\com\example\administrator\ndkdemo
ndkdemo是的工程名
此步骤的目的是为了用javah命令生成本地方法的头文件(注:该头文件没多大用处,就是一会写源文件.cpp的时候方便点,直接把.h文件的内容拷贝过来,把函数体写一下就好了)
===========================================
(b)、打开android studio 的terminal:
javah -d jni -classpath D:\android\sdk\platforms