一:使用gradleexperimentalplugin

首先,我们不能用android studio默认的gradle插件,我们需要把android studio的插件改为gradle experimental plugin, 这个plugin是google开发的,网址在这里:

http://tools.android.com/tech-docs/new-build-system/gradle-experimental


Gradleexperimentalplugin是androidstudio的一个新的编译插件,能提高程序的编译性能。另外它也支持NDK,可以编译JNI应用。目前(2016年5月)最新的版本为0.7.0

二:软件准备:Gradle2.10AndroidNDKr10eAndroidSDKBuildTools版本为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:

#WedApr1015:27:10PDT2013
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=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

applyplugin:"com.android.model.application"

model{

android{

compileSdkVersion23

buildToolsVersion"23.0.3"

ndk{

moduleName"helloJni"

ldLibs.add("log")// native代码里面使用android logcat日志

}

defaultConfig{

applicationId"cn.itcast.testjni"

minSdkVersion.apiLevel19

targetSdkVersion.apiLevel22

versionCode1

versionName"1.0"

}

}

}

dependencies{

compilefileTree(dir:"libs",include:["*.jar"])

}


参考链接:

https://codelabs.developers.google.com/codelabs/android-studio-jni/index.html