一:使用gradle experimental plugin
首先,我们不能用android studio默认的gradle插件,我们需要把android studio的插件改为gradle experimental plugin, 这个plugin是google开发的,网址在这里:
Gradle experimental plugin是android studio的一个新的编译插件,能提高程序的编译性能。另外它也支持NDK,可以编译JNI应用。目前(2016年5月)最新的版本为0.7.0
二:软件准备:
Gradle 2.10
Android NDK r10e
Android SDK Build Tools 版本为23.0.3
三:目录结构的变化
下面标红的是需要修改的配置,主要有三个:
├── app/
│ ├── app.iml
│ ├── build.gradle ----------> module编译配置文件
│ └── src/
├── build.gradle ----------> 工程编译配置文件
├── gradle/
│ └── wrapper/
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties ----------> gradle版本配置文件
├── gradle.properties
├── gradlew*
├── gradlew.bat
├── local.properties
├── MyApplication.iml
└── settings.gradle
./gradle/wrapper/gradle-wrapper.properties:
#Wed Apr 10 15:27:10 PDT 2013distributionBase=GRADLE_USER_HOMEdistributionPath=wrapper/distszipStoreBase=GRADLE_USER_HOMEzipStorePath=wrapper/distsdistributionUrl=https\://services.gradle.org/distributions/gradle-2.10-all.zip
./build.gradle:
buildscript { repositories { jcenter() } dependencies {
//classpath 'com.android.tools.build:gradle:2.1.0' classpath "com.android.tools.build:gradle-experimental:0.7.0" }}allprojects { repositories { jcenter() }}
./app/build.gradle
apply plugin: "com.android.model.application"
model {
android {
compileSdkVersion 23
buildToolsVersion "23.0.3"
ndk {
moduleName "helloJni"
ldLibs.add("log") // native代码里面使用android logcat日志
}
defaultConfig {
applicationId "cn.itcast.testjni"
minSdkVersion.apiLevel 19
targetSdkVersion.apiLevel 22
versionCode 1
versionName "1.0"
}
}
}
dependencies {
compile fileTree(dir: "libs", include: ["*.jar"])
}
参考链接:
https://codelabs.developers.google.com/codelabs/android-studio-jni/index.html