一:使用gradle?experimental?plugin

首先,我們不能用android studio默認的gradle插件,我們需要把android studio的插件改為gradle experimental plugin, 這個plugin是google開發的,網址在這里:

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


Android10。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:

android開發應用語言。#Wed?Apr?10?15:27:10?PDT?2013
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:

java開發電腦配置?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的app開發。????android?{

????????compileSdkVersion?23

????????buildToolsVersion?"23.0.3"

?

自己配置電腦?????????ndk?{

????????????moduleName?"helloJni"

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

????????}

Android系統,?

????????defaultConfig?{

????????????applicationId?"cn.itcast.testjni"

????????????minSdkVersion.apiLevel?19

配置、????????????targetSdkVersion.apiLevel?22

????????????versionCode?1

????????????versionName?"1.0"

????????}

Android NDK、????}

}

?

dependencies?{

android studio ndk配置、????compile?fileTree(dir:?"libs",?include:?["*.jar"])

}


參考鏈接:

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