com.android.tools.r8.internal.q8:Android Studio 中不支持的类文件版本:60

ach*_*cn3 6 java android android-studio

我正在尝试在我的 android studio 项目中导入 jar

jar 是用 JAVA 16 编译的

但是当我尝试运行应用程序时,它显示错误:

Caused by: com.android.tools.r8.internal.q8: Unsupported class file version: 60
    at com.android.tools.r8.graph.B0$b.a(SourceFile:106)
    at com.android.tools.r8.internal.T6.a(SourceFile:124)
    at com.android.tools.r8.graph.B0.a(SourceFile:29)
    at com.android.tools.r8.utils.w.a(SourceFile:98)
    at com.android.tools.r8.utils.w.a(SourceFile:95)
Caused by: com.android.tools.r8.internal.q8: Unsupported class file version: 60

    at com.android.tools.r8.graph.B0.b(SourceFile:2)
    at com.android.tools.r8.dex.a$a.a(SourceFile:15)
    at com.google.common.util.concurrent.TrustedListenableFutureTask$TrustedFutureInterruptibleTask.runInterruptibly(TrustedListenableFutureTask.java:125)
    at com.google.common.util.concurrent.InterruptibleTask.run(InterruptibleTask.java:69)
    at com.google.common.util.concurrent.TrustedListenableFutureTask.run(TrustedListenableFutureTask.java:78)
    at com.google.common.util.concurrent.MoreExecutors$DirectExecutorService.execute(MoreExecutors.java:321)
    at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:145)
    at com.google.common.util.concurrent.AbstractListeningExecutorService.submit(AbstractListeningExecutorService.java:66)
    at com.google.common.util.concurrent.AbstractListeningExecutorService.submit(AbstractListeningExecutorService.java:36)
    at com.android.tools.r8.dex.a$a.a(SourceFile:12)
    at com.android.tools.r8.dex.a$a.a(SourceFile:28)
    at com.android.tools.r8.dex.a.a(SourceFile:76)
    at com.android.tools.r8.dex.a.a(SourceFile:23)
    at com.android.tools.r8.D8.a(D8.java:21)
    at com.android.tools.r8.D8.d(D8.java:11)
    at com.android.tools.r8.D8.b(D8.java:1)
    at com.android.tools.r8.utils.w.a(SourceFile:24)
    ... 40 more
    Suppressed: java.lang.RuntimeException: java.util.concurrent.ExecutionException: com.android.tools.r8.internal.q8: Unsupported class file version: 60
        at com.android.tools.r8.dex.a.a(SourceFile:96)
        ... 45 more
    Caused by: java.util.concurrent.ExecutionException: com.android.tools.r8.internal.q8: Unsupported class file version: 60
        at com.google.common.util.concurrent.AbstractFuture.getDoneValue(AbstractFuture.java:566)
        at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:527)
        at com.google.common.util.concurrent.FluentFuture$TrustedFuture.get(FluentFuture.java:88)
        at com.android.tools.r8.utils.V.a(SourceFile:50)
        at com.android.tools.r8.dex.a.a(SourceFile:79)
        ... 45 more
    Caused by: [CIRCULAR REFERENCE: com.android.tools.r8.internal.q8: Unsupported class file version: 60]

    Caused by: java.util.concurrent.ExecutionException: com.android.tools.r8.internal.q8: Unsupported class file version: 60

    Caused by: [CIRCULAR REFERENCE: com.android.tools.r8.internal.q8: Unsupported class file version: 60]

Run Code Online (Sandbox Code Playgroud)

我已经尝试过以下方法:

  • 将我的 JDK 更改为 JAVA 16

在此输入图像描述

  • 将我的 build.gradle 编辑为以下内容: 在此输入图像描述

但两者都无法解决我的问题。

另外,jar的源代码无法用低版本的JDK编译。

sgj*_*sse 4

该错误是由 D8 编译器(将类文件转换为 DEX)产生的,其中在https://r8.googlesource.com/r8/+/96b3725a7170c4e975e08fbd130a642961f46d3a中添加了对类文件版本 60 的支持,并在 D8/R8 版本中发布3.1.16-开发。这包含在 Android Studio Bumblebee / AGP 7.1 的 Canary 11 中。

您应该能够独立于 Android Studio 升级到 AGP 7.1.0-alpha11。通过更改为

classpath 'com.android.tools.build:gradle:7.1.0-alpha11'
Run Code Online (Sandbox Code Playgroud)

在你的build.gradle文件中。