【问题标题】:Execution failed for task ':app:compileDebugJavaWithJavac' react native任务':app:compileDebugJavaWithJavac'的执行失败反应本机
【发布时间】:2018-03-27 23:27:19
【问题描述】:

我正在尝试在我的 android 设备上像这样在 cmd 中运行 react native 应用程序

cd C:\Users\User\Desktop\js

react-native run-android

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

  • 出了什么问题:任务 ':app:compileDebugJavaWithJavac' 执行失败。

    找不到 tools.jar

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

构建失败

总时间:5.243 秒无法在设备上安装应用程序,请阅读 上面的错误以获取详细信息。确保你有一个安卓模拟器 正在运行或连接的设备并已设置您的 Android 开发 环境: https://facebook.github.io/react-native/docs/android-setup.html

谁能告诉我如何解决这个问题?

【问题讨论】:

  • 你清理了你的 gradle 并尝试再次运行它吗?
  • @stutikasliwal 但我还没有创建安卓应用,我需要这样做吗?
  • 你正在运行 android 命令,这意味着你是为 android 编写的,对吧?
  • 这是 react native 文件夹与 index.android,node_modules 等。
  • 是的 cd android & ./gradlew clean 尝试从你的 cmd 运行它

标签: android react-native


【解决方案1】:

如果您使用 react native,只需确保为 java 编译器正确设置环境变量。 在你的项目中这个 goto package.json 文件之后:

改变这个:

“react-native”:“https://github.com/expo/react-native/archive/sdk-31.0.0.tar.gz”,

到: "react-native": "0.57.5",

保存并运行 npm install

来源:https://github.com/facebook/react-native/issues/21722

【讨论】:

    【解决方案2】:

    如果你的 react-native 版本 >= 0.61.0 的解决方案。当我们添加任何插件并使用链接命令时,它会显示错误,然后它会在 android 和 ios 文件夹中进行更改。但是当我们删除插件时,它会从 package.json 中删除,但在 android 内部的更改不会恢复并且会出错。所以使用下面的命令再次生成 android 文件夹。 我希望它能解决错误-

    sudo rm -rf android/ ios/
    
    yarn add react-native-eject
    
    npx react-native eject
    

    【讨论】:

      【解决方案3】:

      使用以下步骤一次,可能对您有所帮助:

      第一步:通过管理员打开cmd

      第 2 步:通过cd <path to your project>导航到您的应用程序

      第 3 步: 运行此命令:./gradlew clean

      第 4 步: react-native run-android

      【讨论】:

      • ./gradlew clean
      • 它说没有这样的命令
      【解决方案4】:

      我在 Linux 上处理 react-native 项目时遇到了这个问题。 在我的情况下,出现问题是因为我链接了一些外部插件,然后在没有取消链接的情况下将其删除。在这种情况下,您可以仔细阅读控制台错误消息。它应该指向该来源的错误。

      【讨论】:

        【解决方案5】:

        您是否正确安装了 JDK 和 Android SDK? JAVA_HOMEANDROID_HOME 是否正确放置在您的环境变量中?

        【讨论】:

        • 如何检查?
        • 我假设您在 Windows 上,然后像这样查找它:“打开控制面板中系统和安全下的系统窗格,然后单击更改设置...。打开高级选项卡并如果您看到 ANDROID_HOME 并且它指向您的 android SDK 位置,请单击“环境变量”。同样适用于 JAVA_HOME
        • 只有ANDROID_HOME
        • 能否请您尝试将java -versionjavac -version 写入命令行?结果如何?
        • 这个验证帮助了我,我意识到在我的例子中,JAVA_HOME 变量丢失了,所以这必须是在尝试其他解决方案之前的第一个验证
        猜你喜欢
        • 1970-01-01
        • 2016-01-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-05-01
        相关资源
        最近更新 更多