如何在react native中解决(无法初始化类org.codehaus.groovy.reflection.Refl



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

失败:生成失败,出现异常。

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

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

  • 获取更多帮助,请访问https://help.gradle.org

BUILD FAILED in 1m23s

error安装应用程序失败。确保您已经设置了Android开发环境:https://facebook.github.io/react-native/docs/getting-started.html#android-开发环境。有关详细信息,请使用--verbose标志运行CLI。错误:命令失败:gradlew.bat app:installDebug-PrecactNativeDevServerPort=8081

失败:生成失败,出现异常。

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

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

  • 获取更多帮助,请访问https://help.gradle.org

BUILD FAILED in 1m23s

at checkExecSyncError (child_process.js:629:11)
at execFileSync (child_process.js:647:13)
at runOnAllDevices (E:workreact-nativeAwesomeProject1node_modules@react-native-communitycli-platform-androidbuildcommandsrunAndroidrunOnAllDevices.js:94:39)

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

简而言之:

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

  2. 查找以distributionUrl开头的这一行。将渐变版本更改为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

就是这样。

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

正确应用这些说明:React原生环境设置

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

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

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。当你阅读这个答案时,请查看此链接以查看Gradle的最近版本号

更新Aud 112023

8.2.1

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

  1. 安装android studio 3.5(或更高版本)
  2. 安装java 1.8
  3. 如果你有javaJDE14.x.x,你必须从库/java/JavaVirtualMachines/jdk-14.x.x.jdk中删除它的文件夹(在macos上)
  4. 安装旧版本的JDE(我安装了11.0.6)
  5. npm运行android

只需按照这两个步骤喝咖啡。

  1. 导航到"android">渐变>包装器>渐变渐变特性

  2. 将"distributionUrl"从旧更改为>

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

当您使用的gradle版本在您的环境中不兼容时,就会发生此错误,因此您只需要将渐变版本更新为最新的渐变版本,只需转到:/android/gradle/wrapper/gradle-wrapper.properties到您的项目文件即可。

2021年8月

我在使用JDK 16.0.1时遇到了这个问题。因此,对于JDK 16.0.1,您需要gradle7.0版本。

我通过转到/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

如果你是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版本不匹配。

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

如果您使用渐变包装,请参阅

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

属性distributionUrl应为:

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

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

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

在Android Studio中更改渐变版本

android[project_name]/gradle/wapper/gradle-wrapper.properties

打开此文件并设置此

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

那么这个问题就会得到解决。

检查java JDK版本

打开cmd。运行echo%JAVA_HOME%

然后你也可以在谷歌上搜索,查看JDK支持的Gradle版本。

在mac OS 中更新JAVA_HOME对我有效

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

此问题是由不正确的渐变版本引起的。所以要解决这个问题,请遵循以下步骤

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

在windows情况下,我的helloworld应用程序位于我的文档中的示例:C:\Users\Superman\Documents\android\hello-world\gradle\wrapper

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

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

2021年12月

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

如果你正在寻找Java/Kotlin Core Android project而不是React Project的解决方案,因为我在我的核心android项目中也遇到了这个问题,那么就来吧。。。上面的解决方案对我都不起作用。所以基本上我的想法是改变gradle的版本。你问怎么做?遵循以下步骤:

  1. File>Project Structure
  2. 选择SDK Location
  3. 你会发现一些写为";JDK被移到Gradle Settings;。单击Gradle Settings
  4. 使用Gradle版本11.0
  5. 再次同步项目

好了!一个成功构建的项目!:)

相关内容

最新更新