android 配置ndk:Android NDK开发环境配置指南

示例示例首先下载ndk,在Android Studio的SDK Manager中选择NDK,点击“Apply”按钮下载ndk;打开Android Studio的Project ,在SDK 中,找到NDK ,点击Edit,然后选择刚刚下载的NDK文件夹;

示例示例首先下载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)

本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处

(362)
android手机截屏快捷键:如何使用Android手机快捷键截屏
上一篇
ios怎么隐藏应用:如何在iOS上隐藏应用程序
下一篇

相关推荐

发表评论

登录 后才能评论

评论列表(77条)