参考:四维空间hanyezhiyu8的博客。
使用ADT-Eclipse新建一个Android Application Project,功成名TestA,右击TestA,Android Tools-Add Native Support...,完成后工程中会增加一个jni文件夹,里面有TestA.cpp和Android.mk两个文件,其中TestA.cpp中只有#include <jni.h>一句话。
--------------------------------------------------------
在MainActivity.java中添加一个native函数
public native String stringFromJNI();
static {
System.loadLibrary("TestA");
}
修改onCreate()函数,将setContentView(R.layout.activity_main);修改为
TextView tv=new TextView(this);
tv.setText( stringFromJNI() );//调用C++实现的native函数
setContentView(tv);
--------------------------------------------------------
修改TestA.cpp文件,注意c++文件中必须使用extern "C",否则会出现java调用native失败,而C文件中不用extern "C"
#include<string.h>
extern "C" {
jstring Java_com_example_testa_MainActivity_stringFromJNI( JNIEnv* env, jobject thiz);
};
jstring Java_com_example_testa_MainActivity_stringFromJNI( JNIEnv* env, jobject thiz)
{
return env->NewStringUTF("Hello Android NDK");
}
--------------------------------------------------------