1、下载ndk r7及以上
2、配置ndk环境变量
3、新建Android工程 在window-》preference-》Android-》ndk 中关联ndk的安装目录
4、在Android工程右键,Android tool中 add native support
5、java中声明native方法
6、在改工程的src目录下启动CMD窗口 java7以上 输入命令 javah 类的完整名 得到.h头文件
7、编写C/C++代码
8、编译运行 (记得System.loadLibrary("JNIDemo");)
public class MainActivity extends ActionBarActivity {
static{
System.loadLibrary("JNIDemo");
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
sayHello();
}
private void sayHello() {
System.out.println(helloFromC());
System.out.println(hello1("my name is:"));
}
public native String helloFromC();
public native String hello1(String s);
}
<pre name="code" class="html">#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "com_sl_jnidemo_MainActivity.h"
JNIEXPORT jstring JNICALL Java_com_sl_jnidemo_MainActivity_helloFromC
(JNIEnv * env, jobject jobj){
return (*env)->NewStringUTF(env,"com.sl.chen");
}
JNIEXPORT jstring JNICALL Java_com_sl_jnidemo_MainActivity_hello1
(JNIEnv * env, jobject jobj, jstring jstr){
// char* t = (*env)->GetStringUTFChars(env,jstr,0);
// char* t1="songlin";
// char* res=strcat(t1,t);
return (*env)->NewStringUTF(env,"my name is songlin");
}