大家跟着步骤走就行了,有问题请留言(Android Studio 版本为:3.0):
一.创建一个测试类:
public class NDKTestClass {
static {
System.loadLibrary("demo");
}
native public String getString();
}
二.测试的主类:
public class MainActivity extends AppCompatActivity {
private TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView=(TextView) findViewById(R.id.textview);
textView.setText(new NDKTestClass().getString());
}
}
三。生成.h文件
打开Terminal,输入如下命令:
javah -jni com.lh.jimtrency.ndkexample.NDKTestClass
但是,在输入这个命令前,要调到到 app/src/main/java 目录下
四。创建一个jni文件夹,在创建一个.c文件,Android.mk文件(名字不能变),Application.mk文件(名字不能变)
demo.c文件如下:
#include <jni.h>
JNIEXPORT jstring JNICALL Java_com_lh_jimtrency_lhndkdemo_MainActivity_getString
(JNIEnv * evn, jobject jzw){
return (*evn) -> NewStringUTF(evn, "returnValue");
}
Android.mk文件如下:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := demo
LOCAL_SRC_FILES := demo.c
include $(BUILD_SHARED_LIBRARY)
Application.mk文件:
APP_ABI:= armeabi-v7a x86 arm64-v8a x86_64
APP_PLATFORM:= android-22
五.terminal中输入如下命令:
注意,你之前一定要配置ndk的路径。
ndk-build
完了,之后会多两个文件夹:
六。在App的build.gradle 加上如下代码:
好了,打完收工,你的代码可以跑起来了。