我更新到 Android Studio 2.0,现在我想构建我的项目,但我得到了这个异常:
任务 ':app:dexguardDebug' 执行失败。没有这样的属性:类的bootClasspath:com.android.builder.core.AndroidBuilder
我使用 dexguard,gradle 2.0.0
我不知道新的 Android Studio 出了什么问题。
我更新到 Android Studio 2.0,现在我想构建我的项目,但我得到了这个异常:
任务 ':app:dexguardDebug' 执行失败。没有这样的属性:类的bootClasspath:com.android.builder.core.AndroidBuilder
我使用 dexguard,gradle 2.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
我解决了我的问题。我检查了 DexGuard 7.1.22 支持哪个 gradle 插件,我看到支持 Android gradle 插件 1.5.0 版本,所以我从 2.0.0 更改为 1.5.0,一切正常。