標籤:android studi ndk jni
一:使用gradle experimental plugin
首先,我們不能用android studio預設的gradle外掛程式,我們需要把android studio的外掛程式改為gradle experimental plugin, 這個plugin是google開發的,網址在這裡:
http://tools.android.com/tech-docs/new-build-system/gradle-experimental
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 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:
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
Android Studio NDK 開發配置