【问题标题】:Could not compile settings gradle React Native无法编译设置 gradle React Native
【发布时间】:2020-02-06 03:48:51
【问题描述】:

该应用在另一台计算机上为我工作,现在从另一台计算机上的存储库下载文件给我带来了这个问题

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

  • 在哪里: 设置文件'C:\Users\samue\Desktop\MCGPS\TeachAll\android\settings.gradle'

  • 出了什么问题: 无法编译设置文件“C:\Users\samue\Desktop\MCGPS\TeachAll\android\settings.gradle”。

    启动失败: 语义分析期间的一般错误:不支持的类文件主要版本 57

【问题讨论】:

  • 你能把你的Java版本和build,gradle文件放上来吗?
  • 两台机器的JDK版本一样吗?

标签: android react-native gradle


【解决方案1】:

这是 Gradle 如何自动构建和安装在您机器上的 JDK 的当前版本的问题,请按照以下步骤修复它,react native 文档说明您需要采用openjdk8,但是您可能有其他冲突的 JDK 版本在同一目录中。

博文:https://ashirazee.medium.com/react-native-android-failure-build-failed-with-an-exception-908934c3a32b

第一步:

打开您的终端并通过键入以下命令导航到 /Library/Java/JavaVirtualMachines:

cd /Library/Java/JavaVirtualMachines

在您完成该操作后,输入 ls 以查看包含哪些文件并记下版本。

如果您有一个或多个 JDK 文件,如下所示:

adoptopenjdk-8.jdk jdk-16.jdk  jdk-8.jdk

然后使用以下命令行删除它们:

sudo rm -rf /Library/Java/JavaVirtualMachines/jdk-16.jdk 
 
sudo rm -rf /Library/Java/JavaVirtualMachines/jdk-8.jdk

您需要的唯一依赖项是 react native 文档中提到的采用openjdk-8.jdk

但是,在完成这些步骤后,也请删除它并重新安装它:

sudo rm -rf /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk

完成此操作后,您可以通过键入 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

第 3 步:

完成以下操作后,按照 react native 文档中的说明重新安装正确的 jdk,如下所示:

brew install --cask adoptopenjdk/openjdk/adoptopenjdk8

https://reactnative.dev/docs/_getting-started-macos-android

这可能表示已经安装了采用openjdk-8.jdk,但请继续重新安装:

brew reinstall adoptopenjdk8

此时错误应该已经解决,您的构建应该可以工作了。

请务必注意,这是一个构建错误,因为 react native 使用 Gradle 来构建自动化,多个 jdk 版本的冲突可能会导致您的构建失败。

请参考以下文档:

https://docs.gradle.org/current/userguide/userguide.html

【讨论】:

    【解决方案2】:

    我通过在 Android Studio 中打开项目解决了问题 反应原生版本 0.60.5

    【讨论】:

      【解决方案3】:

      这是由于您的系统上安装了 jdk 版本。

      如果您使用的是最新版本的 Java 开发工具包,则需要更改项目的 Gradle 版本,以便它可以识别 JDK。您可以通过转到 {project root folder}\android\gradle\wrapper\gradle-wrapper.properties 并更改 distributionUrl 值来升级 Gradle 版本来做到这一点。您可以查看latest releases of gradle 并注意最新版本的 gradle 并在 gradle-wrapper.properties 中进行编辑并更改 distributionUrl

      【讨论】:

        【解决方案4】:

        这个问题似乎与 java 版本有关,请检查正确的版本。即使安装了两个或多个 jdk,我们也可以在运行时通过指定 gradlew.bat build -Dorg.gradle.java.home=---path-to-jdk--- 来指定必须使用哪个 jdk

        【讨论】:

          【解决方案5】:

          使用Android Studio 打开android 文件夹。然后所有dependencies 将开始下载(如图所示)。让他们完成。完全downloadedloaded 之后就可以运行项目了。

          【讨论】:

            【解决方案6】:

            通过降级Java和升级Gradle版本解决了。

            【讨论】:

              【解决方案7】:

              我遇到了同样的问题,我来这里寻找解决方案。我选择了JDK 11而不是16,但是没有用,我记得我在~/.bashrc没有为新的JDK版本指路,现在终于可以了。

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 2018-06-29
                • 2021-06-03
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2021-02-06
                相关资源
                最近更新 更多