微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException 更新到 Android Studio 4.2 后

如何解决java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException 更新到 Android Studio 4.2 后

Google 刚刚发布了稳定版 Android Studio 4.2。我将我的 AS 从 4.1 更新到 4.2。 现在我收到此错误显示数据绑定错误

scheduler.Schedule(2,1,4)
time.Sleep(time.Millisecond) // Wait long enough that all executions are guaranteed to have completed (should be quick as Schedule waits for go routines to end)
executor.AssertNumberOfCalls(t,"Execute",8)

解决方法

Android Studio 4.2.0 和更多版本现在随 Java 11.0.8 一起提供,默认情况下会使用它,这会在已弃用的库中出现此错误。

解决方法很简单,需要在菜单File > Project Structure > JDK Location

中改成java (JDK) 1.8

image

注意低于 4.2.0 的 Android Studio 已经自带 java 1.8

,

通过执行以下步骤,我解决了这个问题,而无需将 JDK 替换为 JAVA 8。

第 1 步:将 distributionUrl 中的 https\://services.gradle.org/distributions/gradle-6.8.3-bin.zip 更新为 gradle-wrapper.properties

第 2 步:将根目录 'com.android.tools.build:gradle:4.2.1' 中的 gradle 工具类路径更新为 buid.gradle

,

如果您使用的是 Ubuntu,则只需在菜单 File > Project Structure > JDK Location 中将 JDK 位置更改为 JAVA (JDK) 1.8

JDK location android studio 4.2

,

我遇到了同样的问题,我已经解决了。我发现Android studio 4.2会将JDK更新为Java11,会导致您描述的错误。

您可以删除 Java11 JDK 并替换为 Java8 (/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home)。

您也可以卸载 Android Studio,然后重新安装。

,

我以为是jdk路线,经过几个小时的搜索,这对我有用

distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-all.zip

在你的 build.gradle 文件中添加和更新 kotlin_version

ext.kotlin_version = '1.4.32'

 dependencies {
        classpath 'com.android.tools.build:gradle:4.2.1'
    }

如果你使用 enableAapt2 从你的 gradle.properties 文件中删除它

org.gradle.jvmargs=-Xmx1536M -Dkotlin.daemon.jvm.options\="-Xmx1536M"
#android.enableAapt2=false
android.useAndroidX=true
android.enableJetifier=true
,

有两种方法可以解决这个问题

  1. 回滚到 Java 8
  2. 更新 gradle 工具 'com.android.tools.build:gradle' 像 4.2.1(我用过) 或许你会遇到“Entry name 'AndroidManifest.xml'collided”的问题,在你下面添加App build.gradle
android {
    packagingOptions {
        exclude 'AndroidManifest.xml'
    }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。