将 Android Studio 更新到 2.0 版(稳定版)后,我的项目的 Gradle 同步已损坏。
错误弹出:
Android Gradle Plugin Update Required
The project is using an incompatible version of the Android Gradle plugin.
To configure the project, the IDE will update the Android Gradle Plugin to version 2.0.0.
You can learn more about this version of the plugin from this [release notes][1].
-> Update -> Cancel and update manually
Gradle 同步问题(在消息视图中):
Error:The project is using an incompatible version of the Android Gradle plugin.
Please update your project to use version 2.0.0.
-> Search in build.gradle files
我正在使用 gradle-experimental 插件 ( classpath 'com.android.tools.build:gradle-experimental:0.6.0-alpha5'
) 进行 ndk 构建,因为它已被推荐,例如在这里,因此我的 build.gradle 看起来像这样(使用com.android.model.application
插件),我不能简单地“更新”到classpath 'com.android.tools.build:gradle:2.0.0'
:
apply plugin: 'com.android.model.application'
def superpowered_path = file('.').absolutePath + "/src/main/jni/Superpowered"
model {
repositories {
libs(PrebuiltLibraries) {
superpowered {
headers.srcDir "${superpowered_path}"
binaries.withType(StaticLibraryBinary) {
staticLibraryFile = file("${superpowered_path}/lib/${targetPlatform.getName()}/libSuperpoweredAndroid.a")
}
}
}
}
android {
compileSdkVersion 23
buildToolsVersion "23.0.3"
defaultConfig {
applicationId "APPID"
minSdkVersion.apiLevel 15
targetSdkVersion.apiLevel 23
versionCode 1
versionName "1.0"
archivesBaseName = "APPNAME-$versionCode-$versionName"
renderscriptTargetApi 20
renderscriptSupportModeEnabled true
}
buildTypes {
release {
minifyEnabled false
proguardFiles.add(file('proguard-rules.pro'))
signingConfig = $("android.signingConfigs.releaseSigning")
}
debug {
applicationIdSuffix ".debug"
versionNameSuffix "-DEBUG"
signingConfig = $("android.signingConfigs.debugSigning")
}
}
sources {
main {
jni {
dependencies {
library "superpowered" linkage "static"
}
}
}
}
/*
* native build settings
*/
ndk {
moduleName = "NDKMODULE-jni"
cppFlags.add("-std=c++11")
ldLibs.addAll(["android", "log", "OpenSLES"])
abiFilters.addAll(["armeabi-v7a", "x86", "arm64-v8a"])
}
}
android.signingConfigs {
create("releaseSigning") {
keyAlias 'release'
keyPassword 'PASSWORD'
storeFile file('KEYSTORE.jks')
storePassword 'PASSWORD'
storeType "jks"
}
create("debugSigning") {
keyAlias 'debug'
keyPassword 'PASSWORD'
storeFile file('KEYSTORE.jks')
storePassword 'PASSWORD'
storeType "jks"
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar', '*.a'])
testCompile 'junit:junit:4.12'
// Android support libs
compile 'com.android.support:appcompat-v7:23.2.1'
compile 'com.android.support:design:23.2.1'
compile 'com.android.support:support-v4:23.2.1'
compile 'com.android.support:recyclerview-v7:23.2.1'
// Android Async Http
// Apache 2.0 http://loopj.com/android-async-http/
compile 'com.loopj.android:android-async-http:1.4.9'
// OkHttp http://square.github.io/okhttp/
// Apache v2
compile 'com.squareup.okhttp3:okhttp:3.2.0'
// Picasso http://square.github.io/picasso/
// Apache v2
compile 'com.squareup.picasso:picasso:2.5.2'
// Retrofit http://square.github.io/retrofit/
// Apache v2
compile 'com.squareup.retrofit2:retrofit:2.0.0-beta4'
}
我能找到的关于 Android Studio 2.0 的所有问题都是关于金丝雀/测试版的构建,并且似乎与这个有不同的问题。在更新之前,Gradle 同步按预期工作。(我一直在使用最后一个稳定版本,我认为是 1.5.1?)。
我希望对如何在 Android Studio 2.0 中使用 ndk 有一些想法。