首页 > 解决方案 > Android assembleRelease 失败并出现错误:不支持的类版本号 [53.0](最大 52.0,Java 1.8)

问题描述

dependencies {
    classpath "com.android.tools.build:gradle:3.0.0"
    
    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files
}

组装发布 apk 时,失败并出现错误:

警告:处理任务 java.io.IOException 时出现异常:无法读取 [C:\Users\derek_y\AppData\Local\Android\Sdk\platforms\android-30\android.jar](无法处理类 [android /annotation/Nullable.class](不支持的类版本号 [53.0](最大 52.0,Java 1.8))):app:transformClassesAndResourcesWithProguardForRelease FAILED

FAILURE:构建失败并出现异常。

为什么 android-30\android.jar 需要 Java 版本 53.0 (Java 9)?Android Studio 4.0.1 不支持 Java 9 对吧?

PS我试过

dependencies {
    classpath "com.android.tools.build:gradle:4.0.1"
    
    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files
}

但随后运行编译的 apk 触发了另一个来自第三方 SDK 的错误:

java.lang.VerifyError: Rejecting class a.b.c because it failed compile-time verification

我想要一个快速修复,并且请求第三方更新需要时间,所以目前这没有帮助。或者任何人都可以解释为什么会发生此 VerifyError 以及如何解决它?

十分感谢。

标签: androidandroid-gradle-pluginandroid-studio-4.0

解决方案


这看起来像是 Android Gradle 插件中的一个问题(问题 77587908)。它已在 AGP 3.3.0 中修复。

尝试将 AGP 升级到 3.3.0 而不是 4.0.1:

classpath "com.android.tools.build:gradle:3.3.0"

这可能足以解决您的问题而不会引入其他问题。


推荐阅读