Iva*_*val 11 android gradle react-native
该应用程序在另一台计算机上为我工作,现在从另一台计算机上的存储库下载文件给了我这个问题
失败:构建失败并出现异常。
其中:设置文件'C:\Users\samue\Desktop\MCGPS\TeachAll\android\settings.gradle'
出了什么问题:无法编译设置文件“C:\Users\samue\Desktop\MCGPS\TeachAll\android\settings.gradle”。
启动失败:语义分析期间出现一般错误:不支持的类文件主要版本 57
A S*_*zee 11
这是 Gradle 如何自动化构建以及您计算机上安装的 JDK 当前版本的问题,请按照以下步骤修复它,React Native 文档指出您需要采用openjdk8,但是您可能在同一环境中还有其他冲突的 JDK 版本目录。
步骤1:
打开终端并通过键入以下命令导航到 /Library/Java/JavaVirtualMachines:
cd /Library/Java/JavaVirtualMachines
Run Code Online (Sandbox Code Playgroud)
完成该操作后,请键入ls以查看包含哪些文件并记下版本。
如果您有一个或多个 JDK 文件,如下所示:
adoptopenjdk-8.jdk jdk-16.jdk jdk-8.jdk
Run Code Online (Sandbox Code Playgroud)
然后使用以下命令行删除它们:
sudo rm -rf /Library/Java/JavaVirtualMachines/jdk-16.jdk
sudo rm -rf /Library/Java/JavaVirtualMachines/jdk-8.jdk
Run Code Online (Sandbox Code Playgroud)
您需要的唯一依赖项是 acquireopenjdk-8.jdk,如反应本机文档中所述
但是,完成以下步骤后,也将其删除并重新安装:
sudo rm -rf /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk
Run Code Online (Sandbox Code Playgroud)
完成后,您可以通过键入来检查文件是否仍然存在ls
如果文件被删除。
第2步:
然后运行以下命令以确保所有其他链接、插件和文件也从您的库中删除:
运行以下命令:
sudo rm -rf /Library/PreferencePanes/JavaControlPanel.prefPane
sudo rm -rf /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin
sudo rm -rf ~/Library/Application\ Support/Oracle/Java
Run Code Online (Sandbox Code Playgroud)
步骤3:
完成以下操作后,重新安装正确的 jdk,如 React Native 文档中所述,如下所示:
brew install --cask adoptopenjdk/openjdk/adoptopenjdk8
Run Code Online (Sandbox Code Playgroud)
https://reactnative.dev/docs/_getting-started-macos-android
这可能表示已经安装了 Adoptopenjdk-8.jdk,但请继续并重新安装:
brew reinstall adoptopenjdk8
Run Code Online (Sandbox Code Playgroud)
此时错误应该已解决并且您的构建应该可以工作。
需要注意的是,这是一个构建错误,因为 React Native 使用 Gradle 来构建自动化,多个 jdk 版本的冲突可能会导致构建失败。
请参考以下文档:
https://docs.gradle.org/current/userguide/userguide.html
小智 6
这是由于您的系统上安装的 JDK 版本所致。
如果您使用的是最新版本的 Java Development Kit,则需要更改项目的 Gradle 版本,以便它可以识别 JDK。您可以通过转到{project root folder}\android\gradle\wrapper\gradle-wrapper.properties并更改该distributionUrl值来升级 Gradle 版本来完成此操作。
您可以查看 最新版本的 gradle并记下最新版本的 Gradle 并编辑gradle-wrapper.properties并更改distributionUrl
小智 1
这个问题似乎与java版本有关,请检查版本是否正确。另外,即使安装了两个或多个jdk,我们也可以在运行时通过指定这个来指定必须使用哪个jdkgradlew.bat build -Dorg.gradle.java.home=---path-to-jdk---
| 归档时间: |
|
| 查看次数: |
52569 次 |
| 最近记录: |