Android Studio 2.0 Gradle 2.0 和 Dexguard bootClasspath 错误

Android Studio 2.0 with Gradle 2.0 and Dexguard bootClasspath error

我更新到 Android Studio 2.0,现在我想构建我的项目,但我遇到了这个异常:

Execution failed for task ':app:dexguardDebug'. No such property: bootClasspath for class: com.android.builder.core.AndroidBuilder

我用的是dexguard,gradle2.0.0

我不知道新的 Android Studio 有什么问题。

由于 bootClasspath 属性 在某个时间点 (source) 被 getBootClasspath 方法替换,因此引发错误。

在我的例子中,错误是由过时的插件引起的:gradle-android-scala-plugin。如果您也在使用该插件,那么将 Gradle 依赖项更新到 android-plugin-1.5.0 分支应该会有所帮助。这个分支此时不在Maven上,只好用JitPack指定git分支。我的项目 Gradle 文件的上半部分现在如下所示:

buildscript {
    repositories {
        jcenter()
        mavenCentral()
        maven { url "https://jitpack.io" }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.0.0'
        classpath 'com.github.saturday06:gradle-android-scala-plugin:android-plugin-1.5.0-SNAPSHOT'
    }
}

如果是另一个插件导致错误,您可以在 (Android Studio installation)\system\log\idea.log 中找到堆栈跟踪(在我的例子中是 C:\Users\Andre\.AndroidStudio2.0\system\log\idea.log)。我的堆栈跟踪看起来像这样:

Caused by: groovy.lang.MissingPropertyException: No such property: bootClasspath for class: com.android.builder.core.AndroidBuilder
    at jp.leafytree.gradle.AndroidScalaPlugin.addAndroidScalaCompileTask(AndroidScalaPlugin.groovy:211)
etc

我解决了我的问题。我检查了支持gradle插件的DexGuard 7.1.22,我看到支持Android gradle插件1.5.0版本,所以我从2.0.0更改为1.5.0和一切正常。