【问题标题】:react-native run-android command failed, but gradlew installDebug workreact-native run-android 命令失败,但 gradlew installDebug 工作
【发布时间】:2017-09-25 20:05:07
【问题描述】:

我在 OSX 上使用 react-native 0.43.3。 我尝试在 Android 上运行应用并获取消息

react-native run-android

Scanning 568 folders for symlinks in /Users/ruci.k/project/mayacrew/supermembers/supermembers/node_modules (5ms)
JS server already running.
Building and installing the app on the device (cd android && ./gradlew installDebug)...
Could not install the app on the device, read the error above for details.
Make sure you have an Android emulator running or a device connected and have
set up your Android development environment:
https://facebook.github.io/react-native/docs/android-setup.html

./gradlew installDebug 给了我一些错误并修复了它。 最后构建成功,应用程序在 Android 设备上运行。

但是react-native run-android 命令仍然不起作用。 只有./gradlew installDebug 命令有效。

我可以检查什么以使用react-native run-android 命令吗?

我不明白这是怎么发生的。

【问题讨论】:

    标签: android react-native


    【解决方案1】:

    跑步

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

    为我工作

    【讨论】:

    • 它也适用于我!感谢您的帮助!
    • Giving ERROR ERROR:JAVA_HOME 设置为无效目录:/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home
    • 终于!谢谢
    • 经过数小时研究的惊人解决方案。但是你能解释一下它的作用吗?我从字面上复制粘贴不知道它做了什么哈哈
    • 由于某种原因,JAVA_HOME 路径被设置为不正确的值。该解决方案只是将其设置为正确的。仅供参考,每个人的路径可能都不一样!!写是个好主意,例如 export JAVA_HOME="/Applications/Android 然后按几次 tab 键,选择正确的路径,直到到达 ...Contents/Home 。将其包含在 .zshrc 文件(或您正在使用的任何文件)中也是一个好主意
    【解决方案2】:

    运行以下命令

    chmod 755 android/gradlew

    在您的应用根文件夹中 然后运行

    react-native run-android

    【讨论】:

    • 如果我使用的是 Windows?
    • 您能具体说明导致错误的原因以及此命令的帮助吗?
    • 这为我修复了它。因为这里的错误表明这是一个访问问题。 chmod 所做的只是更改该文件夹的访问权限@P.Gupta
    【解决方案3】:

    尝试删除 android、ios 文件夹,然后执行 react-native upgrade 然后再试一次 react-native run-android 之后,如果您收到类似的错误

    未找到 SDK 位置。使用 local.properties 文件中的 sdk.dir 或使用 ANDROID_HOME 环境变量定义位置。

    然后在文件夹中创建一个名为 local.properties 的文件

    安卓

    并插入以下行 sdk.dir =/path/to/Android/Sdk 在此之后一切都应该没问题

    注意:如果您对 android/ios 文件夹进行了一些更改,请在删除文件夹之前保留其备份

    【讨论】:

    【解决方案4】:

    创建你的 react native 应用后,尝试

    sudo chmod -R 777 node-modules  <br>
    sudo chmod -R 777 android 
    export ANDROID_HOME=~/Library/Android/sdk
    

    -react-native run-android 工作!

    【讨论】:

    • 我不必运行最后一个命令。谢谢。
    • 使用sudo chmod -R 777 是有风险的,而且大多数时候不需要。我鼓励您和其他人在使用它时要非常小心。把它当作一个建议。
    【解决方案5】:
    cd android && sudo ./gradlew clean
    

    这对我有用。试试看,如果它对人们有帮助,请告诉我

    【讨论】:

      【解决方案6】:

      当我从 GitHub 导入项目时,我遇到了同样的问题。

      按照以下步骤在 Android 设备中从 MAC OS 运行您的 react-native 项目

      1. 从根项目中删除“node_modules”文件夹。
      2. 在项目根文件夹中运行以下命令。

      npm 安装

      1. 移动到项目根文件夹中的android文件夹。

        cd 安卓

      2. 依次运行以下命令,赋予gradlew文件权限。

      chmod +x ./gradlew

      xattr -l ./gradlew

      xattr -d com.apple.quarantine ./gradlew

      1. 现在,回到项目根文件夹,在安卓设备上运行项目。

      react-native run-android

      现在您可以在连接的 Android 设备/模拟器上看到已启动的应用程序。

      【讨论】:

      • 如果我使用的是 Windows?
      【解决方案7】:

      我遇到了同样的问题,刚刚在 android studio 中打开了项目,仅此而已。解决了!

      【讨论】:

      【解决方案8】:

      您必须更改您的 build.gradle

      compileSdkVersion 28  
      buildToolsVersion "28.0.2"  
      minSdkVersion 16  
      targetSdkVersion 27  
      

      并添加这一行:

      implementation "com.android.support:appcompat-v7:28.0.0"
      

      【讨论】:

      • 在哪里添加implementation "com.android.support:appcompat-v7:28.0.0"
      • Saularis,我知道为时已晚,但可能会对某人有所帮助,请将这一行 implementation "com.android.support:appcompat-v7:28.0.0" 放入 android/app/build.gradle
      【解决方案9】:

      检查您的模拟器是否已连接:

      1. 设置 ANDROID_HOME 路径:E:\android-sdk-windows

      2. 设置路径D:C:\Program Files\nodejs;C:\Program Files\Java\jdk1.8.0_111\bin;E:\android-sdk-windows\platform-tools

      【讨论】:

        【解决方案10】:

        在 Ubuntu 中,我使用过这个命令,它对我有用:

            sudo react-native run-android
        

        【讨论】:

          【解决方案11】:
          1. 在终端进入文件夹 android
          2. gradlew 清洁
          3. 运行 react-native run-android

          【讨论】:

            【解决方案12】:

            也许安装守望者?

            https://github.com/facebook/react-native/issues/10056

            否则,对我来说,我实际上在文件夹中使用了“npm start”。 npm 会知道运行正确的命令来启动 react native,因为它位于 react native 目录中。

            【讨论】:

            • 作为您的答案,我尝试使用“npm start”,结果与“react-native start”相同。启动 JS 服务器运行良好,只是 'react-native run-android' 不起作用。
            【解决方案13】:

            所以我所做的是从以下位置下载这个 jar 文件:1:https://drive.google.com/file/d/1MHSJx-_0RHRzlrXBLAePKeWKQteke0Um/view?usp=sharing 并将其放在 android/gradle/wrapper 中,然后我回到项目目录并执行 npm install 然后将目录更改为 android :cd android 然后我运行了以下命令

            chmod +x ./gradlew

            xattr -l ./gradlew

            现在我回到项目目录并运行react-native run-android

            【讨论】:

              【解决方案14】:
              1. 转到 C:\Users\ [用户名]
              2. 重命名或删除“.gradle”
              3. 然后运行“react-native run-android”

              【讨论】:

                【解决方案15】:

                所以这里是这个错误的三个解决方案,其中一个很可能会解决你的问题:

                1:在你的android文件夹中添加local.properties文件

                https://stackoverflow.com/questions/32634352/react-native-android-build-failed-sdk-location-not-found

                2:尝试删除.gradle文件,然后构建(react-native run-android)

                3:可能在 SDK 工具下 NDK(side by side) 和 CMake 没有安装。 相同的步骤是 Android Studio which include direction for opening sdk manager

                在 Android Studio 中打开 android 文件夹 点击SDK Manager(左上角第三个位置)

                打开SDK管理器后,你必须去SDK工具Installation image for NDK and CMake

                在 SDK Tools 下选择 NDK(side by side) 和 CMake 并按下 OK 按钮并让安装完成。 之后关闭Android Studio并react-native run-android。

                【讨论】:

                  【解决方案16】:

                  1 .你的手机应该有空间
                  2.开发者选项开启
                  3. USB 调试选项也打开
                  4.检查“adb devices”设备是否连接

                  【讨论】:

                    【解决方案17】:

                    我必须执行这些步骤才能使其运行。

                    • 首先安装dos2unix
                    • 在 android 文件夹中运行 dos2unix ./gradlew
                    • 然后运行 ​​./gradlew clean
                    • 最后运行 react-native run-android。

                    【讨论】:

                      【解决方案18】:

                      这个问题有两个原因

                      1- 权限问题

                      如何解决

                      sudo react-native run-android
                      

                      或者

                      chmod 755 android/gradlew
                      

                      2- Java 版本与 Gradle 不匹配

                      确保您使用 Java 8 作为 $JAVA_HOME 环境变量

                      取决于您在哪个终端上运行代码

                      For zsh shell, export $JAVA_HOME at ~/.zshenv or ~/.zshrc.
                      For bash shell, export $JAVA_HOME at ~/.bash_profile or ~/.bashrc.
                      

                      通过这个命令安装JDK

                      /usr/libexec/java_home -V
                      

                      zsh 使用示例

                      vi  ~/.zshrc
                      // paste the java export inside it 
                      export JAVA_HOME="JDK_8_Path_from_previous command"
                      

                      保存更改

                      :x
                      

                      确保应用您的更改

                      source ~/.zshrc
                      

                      现在进行测试

                      echo $JAVA_HOME
                      

                      【讨论】:

                        【解决方案19】:

                        对我来说,这与我的 Mac 内存不足有关。

                        在 gradle.properties 中放 -XX:MaxPermSize=4096

                        例如这样:

                        org.gradle.jvmargs=-Xmx4096m -XX:MaxPermSize=4096m
                        

                        之后,它再次运行。

                        【讨论】:

                        猜你喜欢
                        • 2016-04-13
                        • 1970-01-01
                        • 2020-09-08
                        • 2019-07-13
                        • 2020-08-03
                        • 2021-05-23
                        • 1970-01-01
                        • 2019-02-23
                        相关资源
                        最近更新 更多