Mac 下android studio 中ndk 环境配置

1.下载NDK
Mac 下android studio 中ndk 环境配置_第1张图片
gradle.properties 中配置 android.useDeprecatedNdk=true
build.gradle 中

defaultConfig {
applicationId “com.enjni.myndkproject”
minSdkVersion 19
targetSdkVersion 26
versionCode 1
versionName “1.0”
testInstrumentationRunner “android.support.test.runner.AndroidJUnitRunner”
ndk{
moduleName “helloJni”//*生成的so文件名,必填
abiFilters “armeabi”, “armeabi-v7a”, “x86” //输出abi体系结构下的so库
}
}

主activity 中写入

static {
System.loadLibrary(“helloJni”);
}

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
                    setContentView(R.layout.activity_my_ndk_main);
    TextView textView = (TextView)findViewById(R.id.text_show);
    textView.setText(helloJni());

public native String helloJni();

helloJni是native方法,点击option+enter,会自动生成cpp文件夹的.c文件,在这个.c 文件下可以传入值

2.运行程序看到界面

Mac 下android studio 中ndk 环境配置_第2张图片

以下博主写的文章更加直观的解释了 jni 文件 .c 和 .h 生成的原理,请参考

http://blog.csdn.net/eastmoon502136/article/details/50759209

主要步骤
cd app/build/intermediates/classes/debug
javah -jni com.jared.emjnistudy.NdkJniUtils
在当前目录下生成
com_jared_emjnistudy_NdkJniUtils.h
接着在main目录下新建jni目录,然后把这个头文件拷贝到jni目录下,然后新建一个c文件,命名为jnitest.c

编代码会生成 .so 文件。

Mac 下android studio 中ndk 环境配置_第3张图片

以上是静态实现jni注册的方法,由于弊端很多,最好采用动态注册jni的方法

参考地址:

http://blog.csdn.net/xsf50717/article/details/54693802

你可能感兴趣的:(ndk)