Java 升级到react native版本0.60.4后,react native运行android时出错

Java 升级到react native版本0.60.4后,react native运行android时出错,java,android,react-native,gradle,android-gradle-plugin,Java,Android,React Native,Gradle,Android Gradle Plugin,我正在使用现有应用程序将react native从0.59.5升级到0.60.4。但面临如下问题 * Where: Build file '/home/bingl/Projects/blackstar/frontend/android/app/build.gradle' * What went wrong: Could not compile build file '/home/bingl/Projects/blackstar/frontend/android/app/build.gradle

我正在使用现有应用程序将react native从0.59.5升级到0.60.4。但面临如下问题

* Where:
Build file '/home/bingl/Projects/blackstar/frontend/android/app/build.gradle'

* What went wrong:
Could not compile build file '/home/bingl/Projects/blackstar/frontend/android/app/build.gradle'.
> startup failed:
  General error during semantic analysis: Unsupported class file major version 57

  java.lang.IllegalArgumentException: Unsupported class file major version 57
    at groovyjarjarasm.asm.ClassReader.<init>(ClassReader.java:184)
    at groovyjarjarasm.asm.ClassReader.<init>(ClassReader.java:166)
    at groovyjarjarasm.asm.ClassReader.<init>(ClassReader.java:152)
    at groovyjarjarasm.asm.ClassReader.<init>(ClassReader.java:273)
    at org.codehaus.groovy.ast.decompiled.AsmDecompiler.parseClass(AsmDecompiler.java:81)
    at org.codehaus.groovy.control.ClassNodeResolver.findDecompiled(ClassNodeReso

我完全不知道这个错误是关于什么的,也找不到太多有用的文章。请帮帮我。

看起来Gradle目前正在使用openJDK-13生成错误

这是一根线

在终端上运行以下命令,检查系统上的Java和JDK版本:

file /etc/alternatives/java /etc/alternatives/javac

这将列出系统上的当前安装。如果您在任何地方看到
openjdk-13
,则必须降级到
openjdk-8


检查此文件是否有降级步骤。

在此文件中
android/gradle/wrapper/gradle wrapper.properties
更改此
distributionUrl=https\://services.gradle.org/distributions/gradle-6.0-all.zip上的distributionUrl

适用于
java.lang.IllegalArgumentException:不支持的类文件版本60

原因之一是:

已安装Java版本16,react native尚不支持该版本

所以对于MacOS来说

cd /Library/Java/JavaVirtualMachines
ls
  • 检查可用的JDK

  • 使用此工具拆下jdk-16(如果存在),
    sudo rm-rf jdk-16.jdk/


基本上,您可以删除除采用OpenJDK-8.jdk之外的其他jdk。如果您遵循此操作,jdk将出现。

您运行什么命令来获取此类错误?建筑?捆绑?你能换一下吗
sourceCompatibility'13'
targetCompatibility'13'
@KarlTaylor这是
react本机运行的android
@hongdevelop我改变了,但问题仍然存在。你说得对,它解决了这个问题,又解决了另一个问题,看起来我升级太早了。是的,我也用java 16面临这个问题。哪个版本兼容?你知道吗?@LincyTonita我提到了兼容JDK的名称。它现在是1.8.0_282,但您可以随时查看更新的react native env链接。非常感谢。
file `which java javac`
cd /Library/Java/JavaVirtualMachines
ls