1、创建名称为hello的Android工程,借助Eclipse ADT插件快速添加Native Support的方法
android工程右键--》Android Tools--》Add Native Support即可
2、在MainActivity中编写如下代码
public class MainActivity extends ActionBarActivity {
//加载名称为hello的类库 该类库对应的是obj目录下文件名称为libhello.so
//该文件是由lib+类库名称+.so构成
static{
System.loadLibrary("hello");
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toast.makeText(this, "add "+heloWorldForJni(100), 0).show();
}
//编写一个native方法
public native int heloWorldForJni(int count);
}
3、借助javah指令生成jni中对应的方法名
4、在hello.cpp文件中添加如下代码
#include<stdio.h>
#include<string.h>
#include <jni.h>
//兼容c
extern "C" {
JNIEXPORT jint JNICALL Java_com_example_hello_MainActivity_heloWorldForJni
(JNIEnv *, jobject, jint);
}
jint
JNICALL Java_com_example_hello_MainActivity_heloWorldForJni
(JNIEnv * env, jobject obj , jint count)
{
return count+99;
}
5、将生成好的so文件拖入到IDA中
将生成好的so文件拖入到IDA中,在Function name模块中按 Ctrl + F ,因为jni中的方法名都是java开头, 输入java 便可找到了我们的jni方法