示例示例首先下载ndk,在Android Studio的SDK Manager中选择NDK,点击“Apply”按钮下载ndk;打开Android Studio的Project ,在SDK 中,找到NDK ,点击Edit,然后选择刚刚下载的NDK文件夹;
1. 首先下载ndk,在Android Studio的SDK Manager中选择NDK,点击“Apply”按钮下载ndk;
2. 打开Android Studio的Project Structure,在SDK Location中,找到NDK Location,点击Edit,然后选择刚刚下载的NDK文件夹;
3. 在build.gradle文件中添加ndk配置:
android {
defaultConfig {
ndk {
moduleName "my_module"
abiFilters "armeabi-v7a", "x86"
}
}
}
4. 在app/src/main/jni文件夹下创建Android.mk和Application.mk文件,用于配置native代码:
// Android.mk
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := my_module
LOCAL_SRC_FILES := my_module.c
include $(BUILD_SHARED_LIBRARY)
// Application.mk
APP_ABI := armeabi-v7a x86
5. 在app/src/main/java/com/example/myapplication/MainActivity.java文件中添加native方法:
public class MainActivity extends AppCompatActivity {
static {
System.loadLibrary("my_module");
}
public native String getStringFromNative();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView tv = (TextView) findViewById(R.id.sample_text);
tv.setText(getStringFromNative());
}
}
6. 在app/src/main/jni文件夹下创建my_module.c文件:
#include
jstring Java_com_example_myapplication_MainActivity_getStringFromNative(JNIEnv *env, jobject obj) {
return (*env)->NewStringUTF(env, "Hello from JNI!");
}
7. 编译ndk,在Terminal中输入命令:
$ cd app/src/main
$ ndk-build
8. 运行应用,结果如下:
![](https://img-blog.csdnimg.cn/20200521112452551.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQyMzg4MDU3,size_16,color_FFFFFF,t_70#pic_center)
本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处
评论列表(77条)