我已经在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目前尚未使用。
答案 0 :(得分:27)
我有同样的问题,我们的共同点是dexcount插件。在两个插件兼容之前禁用此问题。请参阅dexcount bug report。
“更新到dexcount 0.8.2修复了问题”
答案 1 :(得分:0)
显然,回到以前版本的Android Tools插件可以工作:
classpath 'com.android.tools.build:gradle:3.0.0'
但是IDE询问我是否要更新到3.1.0-alpha1
,所以如果这是一个错误或问题出在其他地方,我会徘徊。
我在这里留下这个解决方案,直到其他人提出另一个解释。
答案 2 :(得分: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 {
...
}
答案 3 :(得分:0)
我在gradle中更改了我的类路径行(项目:项目名称),问题消失了。
classpath'com.android.tools.build:gradle:3.1.2'