11

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

无法加载类“com.android.builder.Version”。此意外错误的可能原因包括:

  • Gradle 的依赖缓存可能已损坏(有时会在网络连接超时后发生。)重新下载依赖并同步项目(需要网络)
  • Gradle 构建过程(守护进程)的状态可能已损坏。停止所有 Gradle 守护程序可能会解决此问题。停止 Gradle 构建过程(需要重新启动)

您的项目可能正在使用与项目中的其他插件或项目请求的 Gradle 版本不兼容的第三方插件。在 Gradle 进程损坏的情况下,您还可以尝试关闭 IDE,然后杀死所有 Java 进程。

我已经尝试了这两种解决方案,还尝试删除所有~/.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 一目前还没有被严格使用。

4

4 回答 4

29

我有同样的问题,我们的共同点是 dexcount 插件。在两个插件兼容之前禁用此问题。请参阅dexcount 错误报告

“更新到 dexcount 0.8.2 解决了这个问题”

于 2017-11-10T14:28:44.163 回答
0

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

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 {
... 
}
于 2017-10-27T10:11:20.010 回答
0

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

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

于 2018-06-23T07:13:50.297 回答
0

显然回到以前版本的 Android 工具插件的工作原理:

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

但是 IDE 询问我是否要更新,3.1.0-alpha1所以如果这是一个错误或者问题是否出在其他地方,我会徘徊。

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

于 2017-10-27T09:38:06.890 回答