androidstudio3.1使用NDK编译

一、在扩展工具里设置NDK

androidstudio3.1使用NDK编译_第1张图片

二、在jni(新版的好像是CPP)文件夹添加c文件,编辑函数体,函数名要和前面JNI编译的头文件com_example_tangweilong_sealins_MainActivity.h里的函数声明一致

androidstudio3.1使用NDK编译_第2张图片

androidstudio3.1使用NDK编译_第3张图片

androidstudio3.1使用NDK编译_第4张图片

三、在JNI(CPP)文件夹里添加Android.mk和Application.mk文件

androidstudio3.1使用NDK编译_第5张图片

Android.mk

androidstudio3.1使用NDK编译_第6张图片

Application.mk

四、在Module的build.gradle

添加两部分代码

第一部分在andoid部分

androidstudio3.1使用NDK编译_第7张图片

第二部分直接在defaultConfig里添加

androidstudio3.1使用NDK编译_第8张图片

这一句jni.srcDirs =[]必须要添加,不然会被JNI自动生产的覆盖

五、在gradle.properties里添加android.useDeprecatedNDK = true

六、直接使用NDK编译JNI(CPP)文件夹

androidstudio3.1使用NDK编译_第9张图片

七、在activity里添加

System.loadLibrary("myRelayLib")

调用本地库

然后声明本地函数

public native String getStringFromNative();
最后调用实现
tw.setText(getStringFromNative()+" ");
androidstudio3.1使用NDK编译_第10张图片

 

你可能感兴趣的:(安卓)