Java 升级到react native版本0.60.4后,react native运行android时出错
我正在使用现有应用程序将react native从0.59.5升级到0.60.4。但面临如下问题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
* 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