在2015的Google I / O大會,5月底,谷歌宣布了一項新的支持由Android NDK Studio 1.3,Jetbrains CLion集成功能,Android gradle插件。這種支持只在7月已經發布,雖然很有前途,還是在沉重的發展。
新的工具包支持需要使用Android Studio 1.3 RC1 +和Android gradle-experimental插件。
gradle-experimental插件需要使用gradle - 2.6或更高版本。
1.應用設置gradle版本

2.文本設置gradle版本
gradle/wrapper/gradle-wrapper.properties:
distributionUrl=https\://services.gradle.org/distributions/gradle-2.6-all.zip
然后,改變對android的引用gradle新gradle-experimental插件,插件。/ build.gradle:
// Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle-experimental:0.3.0-alpha5' } }
你需要修改build.gradle文件來使用這些新的插件。這是相同的配置的一個例子,老的DSL(頂部)和新(底部):
old DSL
apply plugin: 'com.android.application' android { compileSdkVersion rootProject.ext.compileSdkVersion buildToolsVersion rootProject.ext.buildToolsVersion defaultConfig { applicationId "com.ph0b.example" minSdkVersion 15 targetSdkVersion 23 versionCode 4 versionName "1.0.1" ndk { moduleName "mymodule" ldLibs "log" stl "gnustl_static" cFlags "-std=c++11 -fexceptions" } } signingConfigs { release { storeFile file(STORE_FILE) storePassword STORE_PASSWORD keyAlias KEY_ALIAS keyPassword KEY_PASSWORD } } buildTypes { release { minifyEnabled true shrinkResources true proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.txt' signingConfig signingConfigs.release } debug { jniDebuggable true } } } dependencies { compile 'com.android.support:support-v4:23.0.1' compile fileTree(dir: 'libs', include: ['*.jar']) }
new DSL
apply plugin: 'com.android.model.application' model { android { compileSdkVersion = rootProject.ext.compileSdkVersion buildToolsVersion = rootProject.ext.buildToolsVersion defaultConfig.with { applicationId = "com.ph0b.example" minSdkVersion.apiLevel = 15 targetSdkVersion.apiLevel = 23 versionCode = 4 versionName = "1.0.1" } } android.ndk { moduleName = "mymodule" ldLibs += ['log'] cppFlags += "-std=c++11" cppFlags += "-fexceptions" stl = 'gnustl_shared' } android.signingConfigs { create("release") { keyAlias = KEY_ALIAS keyPassword = STORE_PASSWORD storeFile = file(STORE_FILE) storePassword = KEY_PASSWORD } } android.buildTypes { release { minifyEnabled = true shrinkResources = true proguardFiles += file('proguard-rules.txt') // signingConfig = signingConfigs.release //not activated yet because of https://code.google.com/p/android/issues/detail?id=182249 } } } dependencies { compile 'com.android.support:support-v4:23.0.1' compile fileTree(dir: 'libs', include: ['*.jar']) }
總的改變在所有android的聲明在modle{}內,各個變量的賦值使用顯示的"=",數組不能被復寫(用+=),變量和其他新配置必須使用聲明''創建()'比如xxxSdkVersion改為xxxSdkVersion.apiLevel屬性。
你可以在DSL進行配置NDK,默認就可以不使用Android.mk老配置了.
開始新的c++ / NDK支持AndroidStudio
1.首先在build.gradle配置NDK模塊的聲明來激活c++ / NDK支持
model { //... android.ndk { moduleName = "mymodule" } }
2.完成這步你就可以在Java文件下創建一個方法帶Native關鍵字,並且按ALT+Enter來生成C++,實現:

就這么簡單方便。
實現的cpp文件將被添加在jni文件夾中。
為了使用NDK模塊,這里google提供了github的例子
https://github.com/googlesamples/android-ndk
下面是你配置ndk需要的所有配置:
android.ndk { moduleName = "mymodule" ldLibs += ['log'] ldFlags += "" toolchain = "clang" toolchainVersion = "3.9" abiFilters += "x86" CFlags += "" cppFlags += "" debuggable = false renderscriptNdkMode = false stl = "system" platformVersion = 15 }
NDK項目的調試
Android Studio 1.3 +支持LLDB和GDB后端的調試功能,創建和使用一個新的從Android原生“運行/調試配置默認值:

使用你的debug調試你的NDK,默認設置debugable標志totrue.
- 轉譯至http://ph0b.com/new-android-studio-ndk-support/