将 android studio 更新到 4.2 Beta1 后,Gradle 构建失败
Posted
技术标签:
【中文标题】将 android studio 更新到 4.2 Beta1 后,Gradle 构建失败【英文标题】:Gradle build failed after updating android studio to 4.2 Beta1 【发布时间】:2021-03-15 04:05:36 【问题描述】:我刚刚更新了 android studio,无法构建我之前的项目。 我遇到了这些错误:
class jdk.internal.loader.ClassLoaders$PlatformClassLoader cannot be cast to class java.net.URLClassLoader (jdk.internal.loader.ClassLoaders$PlatformClassLoader and java.net.URLClassLoader are in module java.base of loader 'bootstrap')
class jdk.internal.loader.ClassLoaders$PlatformClassLoader cannot be cast to class java.net.URLClassLoader (jdk.internal.loader.ClassLoaders$PlatformClassLoader and java.net.URLClassLoader are in module java.base of loader 'bootstrap')
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.
我对 android studio 有点陌生,我的 java 版本是:
java version "15.0.1" 2020-10-20
和 build.gradle 文件:
plugins
id 'com.android.application'
android
compileSdkVersion 30
buildToolsVersion "30.0.2"
defaultConfig
applicationId "com.example.appName"
minSdkVersion 19
targetSdkVersion 30
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
// vectorDrawables
// useSupportLibrary true
//
buildTypes
release
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
compileOptions
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
dependencies
implementation 'androidx.appcompat:appcompat:1.2.0'
implementation 'com.google.android.material:material:1.2.1'
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'com.github.bumptech.glide:glide:4.9.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.11.0'
testImplementation 'junit:junit:4.+'
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
很抱歉这个冗长而混乱的问题。任何帮助将不胜感激。
【问题讨论】:
我今天也发生了同样的事情,我现在只是卸载并重新安装了稳定版。 Tnx @David Kroukamp 我也做了同样的事情现在工作正常 @PersianBuddy 我也升级到了 4.2,并不是所有的单元都失败了。不过它通过了 Jenkins/Github CI。当我回滚到 4.1.3 时,所有单元测试都通过了。 4.2 IDE 出现了问题,但奇怪的是更多的人没有遇到问题。您是否已升级回 4.2?如果是这样,您是否能够解决您提到的这些冲突? 【参考方案1】:尝试删除build/
方法并再次运行守护进程
【讨论】:
它没有用。我已经卸载了 V4.2 Beta 并重新安装了 V4.1,现在可以了。 tnx 4 你的答案 请给答案投票,好像 *** 禁止我发帖,或者如果你愿意,可以将其标记为已接受【参考方案2】:我有一段时间遇到同样的错误,我建议卸载以前的版本。如果需要,导出您的设置。通过链接中的 exe 文件安装 AS,因为 zip 会产生相同的错误。我没有尝试在不卸载的情况下进行全新安装,但如果该方法有效,我们将不胜感激。 链接: https://developer.android.com/studio/archive
【讨论】:
【参考方案3】:与 Android Studio 4.2.1 相同。卸载它然后重新安装它对我有帮助。
【讨论】:
【参考方案4】:错误已经解释了原因并修复了可能的问题。如果@gtxtreme 的上述回答不起作用,请尝试关闭 android studio 并重新启动系统。
虽然建议您使用 4.1 的稳定版本的 android studio 并将 beta 4.2 的测试留给专家进行
【讨论】:
是的,你是对的@Bilal BWS 我一开始就不应该安装它的 Beta 版本。顺便说一下,重启是行不通的。我已经卸载了。 作为一名拥有 20 多年经验的专家级开发人员,自上个千年以来拥有零星的 Java 经验,我仍然对这个工具的糟糕状态感到惊讶。我宁愿找出问题所在以及如何解决问题的线索,也不愿找到这样的自我优越的 cmets,所以克服自己并尝试帮助解决而不是在发表评论时驳回!以上是关于将 android studio 更新到 4.2 Beta1 后,Gradle 构建失败的主要内容,如果未能解决你的问题,请参考以下文章
更新到 Android Studio 4.2 后无法创建新的 Kotlin 项目
java.lang.NoClassDefFoundError:更新到 Android Studio 4.2 后的 javax/xml/bind/JAXBException
Android studio 4.2 找不到模拟器、设备或 AVD 管理器