一:使用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