升级到 Android Studio 3.1 后无法加载 class 'com.android.builder.Version'

Unable to load class 'com.android.builder.Version' after upgrade to Android Studio 3.1

我已经升级到 Canary 频道中的 Android Studio 3.1,但我无法再构建我的项目,打印出此错误:

Unable to load class 'com.android.builder.Version'. Possible causes for this unexpected error include:

  • Gradle's dependency cache may be corrupt (this sometimes occurs after a network connection timeout.) Re-download dependencies and sync project (requires network)
  • The state of a Gradle build process (daemon) may be corrupt. Stopping all Gradle daemons may solve this problem. Stop Gradle build processes (requires restart)

Your project may be using a third-party plugin which is not compatible with the other plugins in the project or the version of Gradle requested by the project. In the case of corrupt Gradle processes, you can also try closing the IDE and then killing all Java processes.

我已经尝试了这两种解决方案,也尝试删除所有 ~/.gradle/caches 目录,但错误仍然存​​在。

寻找类似的错误,我发现旧版本的 Android Studio 与升级 android 工具版本的建议解决方案存在此问题。

我想我已经有了最后一个:

    classpath 'com.android.tools.build:gradle:3.1.0-alpha01'

编辑(2017 年 10 月 30 日):

答案表明有人遇到了问题,而有人没有。 正如对该问题的评论中所指出的,这可能是由不兼容的插件引起的,因此我在这里列出了我项目中使用的插件:

buildscript {
    ext.kotlin_version = '1.1.51'
    repositories {
        jcenter()
        google()
//        maven {
//            url 'https://maven.google.com'
//        }
        maven {
            url "https://plugins.gradle.org/m2/"
        }
    }
    dependencies {
        classpath "com.gradle:build-scan-plugin:1.10"
        classpath 'com.getkeepsafe.dexcount:dexcount-gradle-plugin:0.8.1'
        classpath 'com.android.tools.build:gradle:3.1.0-alpha01'
        classpath 'com.google.gms:google-services:3.1.1'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}

由于与更新版本的 Android 插件存在某些不兼容问题,目前 dexcount one 目前无法使用。

显然回到以前版本的 Android 工具插件有效:

    classpath 'com.android.tools.build:gradle:3.0.0'

但是 IDE 问我是否要更新到 3.1.0-alpha1 所以我想知道这是一个错误还是问题出在其他地方。

我只是把这个解决方案留在这里,直到其他人提出另一种解释。

不知道为什么你的构建不起作用,但在全新安装 Android Studio 3.1 并使用此设置后一切正常编译一个包含多个库的大型项目(并与 java 混合,科特林)。

buildscript {
    ext {
        gradle_version = "3.1.0-alpha01"
        kotlin_version = "1.1.51"
    }

    repositories {
        maven {
            url 'https://maven.google.com'
        }
        maven {
            url 'https://oss.sonatype.org/content/repositories/snapshots'
        }
        jcenter()
        google()
    }

    dependencies {
        classpath "com.android.tools.build:gradle:$gradle_version"
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}



allprojects {
    repositories {
        maven {
            url 'https://maven.google.com'
        }
        jcenter()
        google()
    }

    gradle.projectsEvaluated {
        tasks.withType(JavaCompile) {
            options.compilerArgs << "-Xmaxerrs" << "500"
        }
    }

}

和我基于应用程序的 gradle。

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-kapt'
apply plugin: 'kotlin-android-extensions'

android {
... 
}

我遇到了同样的问题,我们的共同点是 dexcount 插件。在两个插件兼容之前禁用此问题。参见 dexcount bug report

"updating to dexcount 0.8.2 fixes the issue"

我在 gradle(项目:项目名称)中更改了我的 class 路径行,问题消失了。

class路径'com.android.tools.build:gradle:3.1.2'