进行NDK开发之前,首先我们先看一下我们的JDK环境有没有配置好,因为我们会用到。
上面是正常的如果出现 'javah' 不是内部或外部命令,也不是可运行的程序或批处理文件。那么你需要重新配置一下JDK环境了
现在开始配置我们的NDK环境了,不过这里希望大家自行下载ndk进行安装,ndk.jar 下载完成之后
为什么下载呢,因为我在做这个Demo时发现从Android Studio上下载NDK配置路径虽然没问题但是却不能生成.so文件,但是下载的可以,所以这里推荐使用下载的NDK
新建英文文件夹不要任何中文,如图直接点击安装即可,会生成 android-ndk-r10e 文件夹
我的电脑 - 属性 - 高级系统设置 - 环境变量 - 找到系统变量 - Path 添加 ndk路径(相信这个都会)
打开cmd出入ndk-build出现下面的图片中显示,就算是ndk配置成功了接下来去android studio中配置
接下来我们需要在android studio配置上NDK路径
配置好路径之后先后找到local.properties和gradle.properties文件进行配置
然后再build.gradle中插入
android {
compileSdkVersion 27
defaultConfig {
applicationId "com.ndk.ndemo"
minSdkVersion 15
targetSdkVersion 27
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
ndk {
moduleName "jniLibUtil" // so文件名称
abiFilters "armeabi", "armeabi-v7a", "x86" // so文件
}
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
然后新建class文件 JniTest
package com.ndk.ndemo;
public class JniTest {
static {
System.loadLibrary("jniLibUtil");
}
public static native String getString();
}
生成编译文件Build ->Make Project
然后找到 build -> intermediate -> classes -> debug 文件 点击右键 Copy Path
打开Android studio中的 Terminal 输入命令 cd app/src/main
然后输入 javah -d jni -classpath (Ctrl+c粘贴Copy的路径)空格(JniTest文件的包名.类名) 如图
然后创建.c文件
最后Build ->Rebuild Project 就可以了
.so 所在位置 如图
以上是生成.so文件的基本做法了,当然操作中会有许多问题,开头有我操作时遇到的一些问题锦集,可供参考!