【问题标题】:How to solve (Could not initialize class org.codehaus.groovy.reflection.ReflectionCache) issue in react native如何解决 (Could not initialize class org.codehaus.groovy.reflection.ReflectionCache) 反应原生问题
【发布时间】:2020-07-05 17:27:37
【问题描述】:

$ npx react-native run-android info 运行 jetifier 将库迁移到 AndroidX。您可以使用“--no-jetifier”标志禁用它。 Jetifier 找到 864 个文件来转发-jetify。使用 4 名工人... info 正在启动 JS 服务器... 信息正在启动模拟器... 错误无法启动模拟器。原因:无法在 30 秒内启动模拟器。 警告 请手动启动模拟器或连接设备。否则,应用程序可能无法启动。 info 正在安装应用程序...

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

  • 出了什么问题: 无法初始化类 org.codehaus.groovy.runtime.InvokerHelper

  • 尝试: 使用 --stacktrace 选项运行以获取堆栈跟踪。使用 --info 或 --debug 选项运行以获得更多日志输出。运行 --scan 以获得完整的见解。

  • 通过https://help.gradle.org获得更多帮助

在 1m 23s 内构建失败

错误 无法安装应用程序。确保您已设置 Android 开发环境:https://facebook.github.io/react-native/docs/getting-started.html#android-development-environment。使用 --verbose 标志运行 CLI 以获取更多详细信息。 错误:命令失败:gradlew.bat app:installDebug -PreactNativeDevServerPort=8081

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

  • 出了什么问题: 无法初始化类 org.codehaus.groovy.runtime.InvokerHelper

  • 尝试: 使用 --stacktrace 选项运行以获取堆栈跟踪。使用 --info 或 --debug 选项运行以获得更多日志输出。运行 --scan 以获得完整的见解。

  • 通过https://help.gradle.org获得更多帮助

在 1m 23s 内构建失败

at checkExecSyncError (child_process.js:629:11)
at execFileSync (child_process.js:647:13)
at runOnAllDevices (E:\work\react-native\AwesomeProject1\node_modules\@react-native-community\cli-platform-android\build\commands\runAndroid\runOnAllDevices.js:94:39)

【问题讨论】:

    标签: android react-native


    【解决方案1】:

    我想我有同样的问题。安装 RN(2020 年 5 月 20 日)后,我遇到了这个错误。我在https://github.com/gradle/gradle/issues/10248 上找到了这个解决方案。

    简而言之:

    1. 转到您的 RN 项目中的 /android/gradle/wrapper/gradle-wrapper.properties 文件

    2. 找到以distributionUrl 开头的行。将gradle版本改为gradle-6.3-all.zip

    在我的项目中是:

    distributionUrl=https\://services.gradle.org/distributions/gradle-6.0.1-all.zip
    

    我把它改成了:

    distributionUrl=https\://services.gradle.org/distributions/gradle-6.3-all.zip
    

    就是这样。

    【讨论】:

    • 我可以确认,更改distributionUrl问题已解决(2020年5月29日)
    • 是的,7 月 7 日,在格式化我的 macos 并安装了错误的 Java 依赖项后,此修复程序奏效了。
    • 为我工作。我的是 V6.2,改成 V6.3 修复了。
    • 哇。这解决了我从初始安装开始的所有问题。谢谢
    • 太棒了!仍然有效!
    【解决方案2】:

    我在 Mac OS 和 React Native v0.62 上遇到了同样的错误。

    正确应用这些说明:React native environment setup

    添加这个变量解决了我的问题:

    export JAVA_HOME="/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home"

    【讨论】:

    • 在 linux 上,我有一个不包含“jdk/”的路径,它现在可以工作了。 export JAVA_HOME=/usr/lib/jvm/java-14-openjdk/ 之前 ==> export JAVA_HOME=/PATH/TO/android-studio/jre/
    • 在 MacOs Catalina 10.3 上为我工作。谢谢
    • 显然将路径设置为$(/usr/libexec/java_home) 不起作用,但你的。
    • 适用于 macOS BigSur,说真的,一票还不够!
    【解决方案3】:

    React Native 版本 0.62.x 中,即使已初始化的应用程序还没有准备好进行开发构建。

    我将 Gradle 版本更改为最新版本,并且可以进行干净的构建,因此请更改此文件:

    // this file => /android/gradle/wrapper/gradle-wrapper.properties
    

    来自:

    distributionUrl=https\://services.gradle.org/distributions/gradle-6.0.1-all.zip
    

    到:

    distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-all.zip
    

    注意我当时最新的 Gradle 版本是 6.5。当您阅读此答案时,请查看this link 以查看 Gradle 的最新版本号。

    2021 年 12 月更新

    7.3.1

    【讨论】:

    • @Imtee,很高兴我的回答对您有所帮助。如果可能,请为我投票this post。谢谢。
    【解决方案4】:

    我通过以下步骤解决了这个问题:

    1. 安装 android studio 3.5(或更高版本)
    2. 安装java 1.8
    3. 如果您有 java JDE 14.x.x,则必须从 library/java/JavaVirtualMachines/jdk-14.x.x.jdk 中删除其文件夹(在 mac os 上)
    4. 安装旧版本的 JDE(我安装的是 11.0.6)
    5. npm 运行安卓!

    【讨论】:

    • 非常感谢!这对我有用。 PS:我换了新电脑。并从 Github 中提取我的 react-native 项目,但 npm instapp && react-native run-android 失败了。我照你说的做了,然后砰。现在一切正常。
    【解决方案5】:

    只需按照这 2 个步骤,就可以喝咖啡了。

    1. 导航到“android”> gradle > wrapper > gradle-wrapper.properties

    2. 将“distributionUrl”从旧更改为 >

      distributionUrl=https://services.gradle.org/distributions/gradle-6.3-all.zip

    【讨论】:

      【解决方案6】:

      当您使用的gradle版本与您的环境不兼容时会出现此错误,因此您只需将您的gradle版本更新为最新的Gradle Versions,只需转到:/android/gradle/wrapper/gradle-wrapper.properties到您的项目文件即可。

      【讨论】:

        【解决方案7】:

        2021 年 8 月

        我使用JDK 16.0.1 并遇到了这个问题。因此,对于JDK 16.0.1,您需要7.0 版本的gradle

        我通过转到/android/gradle/wrapper/gradle-wrapper.properties 并更改来修复它

        distributionUrl=https\://services.gradle.org/distributions/gradle-6.2-all.zip
        

        distributionUrl=https\://services.gradle.org/distributions/gradle-7.0-all.zip
        

        【讨论】:

          【解决方案8】:

          如果你是 macOS 用户,那么你应该安装

          brew cask install adoptopenjdk/openjdk/adoptopenjdk8
          brew cask install android-platform-tools
          

          更新你的 .bash_profile

          nano ~/.bash_profile
          export JAVA_HOME=$(/usr/libexec/java_home -v 1.8)
          

          这将解决您的问题。如果您正在处理遗留代码库,那么更改分发 URL 会导致其他问题。这通常是由于 java 版本不匹配造成的。

          【讨论】:

            【解决方案9】:

            这可能是因为你使用 Gradle 作为构建系统和 JDK14 Gradle 版本很旧。参考:

            如果您使用 Gradle Wrapper,请参考

            $PROJECT_ROOT/gradle/wrapper/gradle-wrapper.properties

            属性 distributionUrl 应该是:

            distributionUrl=https://services.gradle.org/distributions/gradle-6.3-bin.zip

            如果是旧版本,请更改它,运行./gradlew clean build 然后再试一次。

            【讨论】:

              【解决方案10】:

              这是因为 Java JDK 不支持您的 Gradle 版本。如果你使用 JDK 版本 15.0.2 那么你需要将 Gradle 版本更改为 6.6.1 或 6.7

              在 Android Studio 中更改 Gradle 版本。

              android[项目名称]/gradle/wrapper/gradle-wrapper.properties

              打开这个文件并设置它

              distributionUrl=https://services.gradle.org/distributions/gradle-6.6.1-all.zip

              那么这个问题就解决了。

              检查 java JDK 版本。

              打开命令。 运行 echo %JAVA_HOME%

              那你也可以在google上搜索一下Gradle到JDK支持的版本。

              【讨论】:

                【解决方案11】:

                在 mac OS 中更新 JAVA_HOME 对我有用

                export JAVA_HOME="/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home"

                【讨论】:

                  【解决方案12】:

                  这个问题是由不正确的 graddle 版本引起的。所以要解决这个问题,请按照以下步骤操作

                  • 确保您已经安装了 Android Studio,并且从 Android Studio 菜单 Tool-> SDK Manager 设置了 SDK,您可以设置 SDK,如果您使用的是最新版本的 React Native,请安装最新的 SDK。
                  • 从 Android Studio 菜单工具 > AVD Manager 设置一台设备并下载图像。并对其进行测试以查看模拟器运行正常。
                  • 确保安装了最新的 JDK 以响应本机安装最新的 JDK:https://www.oracle.com/java/technologies/javase-downloads.html
                  • 接下来从 Android Studio 菜单文件 > 新建 > 新项目创建一个虚拟项目,即 Hello world 并构建确保所有 android studio 问题都已解决,并且您的 Android studio hello world 应用正在模拟器上运行。
                  • 现在是时候修复您的 React Native 应用程序了。停止您的 Android Studio hello world 应用并保持模拟器运行。
                  • 在您的系统上找到您的 Android Studio hello world 应用,然后转到 gradle\wrapper 文件夹并复制 gradle-wrapper.properties 文件

                  Windows 案例中的示例我的 hello world 应用程序位于我的文档中: C:\Users\Superman\Documents\android\hello world\gradle\wrapper

                  • 接下来转到您的 react native 应用程序文件夹,例如:myReactApp\android\gradle\wrapper 并粘贴 gradle-wrapper.properties 您从 Android Studio hello world 应用复制的文件。
                  • 最后在你的终端执行:npx react-native run-android

                  【讨论】:

                    【解决方案13】:

                    我对新项目和窗口有同样的问题。我尝试了所有这些方式,但它没有。可笑的是,我将 java/jdk 文件夹从 C:\Program Files 移动到 D:\ 中的另一个目录,它就像一个魅力。 可能有用。

                    【讨论】:

                      【解决方案14】:

                      2021 年 12 月

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

                      【讨论】:

                        【解决方案15】:

                        如果您正在寻找 Java/Kotlin Core Android project 而不是 React Project 的解决方案,因为我在我的核心 android 项目中也遇到了这个问题,所以你去... 以上解决方案都不适合我。所以基本上这个想法是改变gradle的版本。你问怎么做?请按以下步骤操作:

                        1. File>Project Structure
                        2. 选择SDK Location
                        3. 您会发现一些写成“JDK 已移至 Gradle 设置”的内容。点击Gradle Settings
                        4. 使用 Gradle 版本11.0
                        5. 再次同步项目。

                        你去吧!一个成功的项目! :)

                        【讨论】:

                          猜你喜欢
                          • 2018-04-05
                          • 1970-01-01
                          • 2016-09-16
                          • 2017-06-18
                          • 2022-06-16
                          • 2023-03-26
                          • 1970-01-01
                          • 1970-01-01
                          • 2023-01-09
                          相关资源
                          最近更新 更多