【问题标题】:Facing issue " Failed to install the app. Make sure you have the Android development environment " in react native面临问题“无法安装应用程序。请确保您有Android开发环境”反应原生
【发布时间】:2023-03-04 22:39:01
【问题描述】:

你能帮帮我吗,我被困在 react-native 中创建一个新项目,就像下面的截图一样。我能够运行旧项目。但我无法运行新项目

我已按照以下步骤操作:

  1. react-native init projectName
  2. cd projectName
  3. react-native run-projectName

但我收到以下错误:

error Failed to install the app. Make sure you have the Android development environment set up:

【问题讨论】:

    标签: react-native react-native-android android-sdk-tools


    【解决方案1】:

    我在运行 react-native run-android 时收到此错误消息。

    当我运行 cd android && ./gradlew clean 时,我也遇到了权限错误。

    我跑了chmod +x gradlew,它开始工作了

    【讨论】:

    • 当我进入 android 文件夹后尝试运行 ./gradlew clean 时,我收到以下错误:FAILURE: Build failed with an exception。 * 出了什么问题:无法初始化类 org.codehaus.groovy.runtime.InvokerHelper
    • 这对我有用。据了解,我使用的是 Ubuntu 20.04.2,React Native 版本是 0.62.2(这是我复活的旧应用程序)。谢谢迪伦w
    • 我在运行 ./gradlew clean 时收到此错误env: sh\r: No such file or directory
    【解决方案2】:

    为确保您的环境已针对 android 正确设置,请转到您的 react-native 项目的根目录。在 Android Studio IDE 中打开 android 项目(文件夹)。

    您的环境中的所有错误都会显示出来,并且会自动启动 Gradle 守护程序以同步并为您配置构建。完成后,关闭 Android Studio 并返回命令行并运行:react-native run-android

    这很好用。

    【讨论】:

      【解决方案3】:

      此命令 chmod +x gradlew 在 mac 中为我工作。

      【讨论】:

        【解决方案4】:

        只需 $:cd android 然后 $: gradlew clean 在 Windows 上为我工作

        【讨论】:

        • 这并没有解决问题,但为了运行 clean 命令,我在 android 子文件夹中输入了 ./gradlew clean
        【解决方案5】:

        您好,我通过模拟器的擦除数据解决了这个问题。 转到 android studio -> 然后打开 AVD Manager -> 点击模拟器的三角形图标。 -> 然后点击擦除数据。

        之后运行 react-native run-android 。这解决了我的问题。 enter image description here

        【讨论】:

        • 这是唯一对我有用的解决方案。 ./gradlew clean 本身不起作用
        【解决方案6】:

        打开 ~/.bash_profile 并添加:

        导出 ANDROID_HOME=~/Library/Android/sdk/

        导出 PATH=$PATH:~/android-sdks/platform-tools/

        导出 PATH=$PATH:~/android-sdks/tools/

        来源 ~/.bash_profile

        【讨论】:

          【解决方案7】:

          运行以下命令

          cd .\android\ 
          ./gradlew clean
          

          然后在你项目的根目录下:

          npx react-native start --reset-cache
          

          注意

          确保您的手机上不存在该应用,如果存在,请先尝试将其删除,然后再次运行您的项目

          【讨论】:

            【解决方案8】:

            确保按照文档中的说明将 Android SDK 正确连接到终端 shell。 这解决了我的机器上生成一个裸工作流博览会项目后的问题。

            https://reactnative.dev/docs/environment-setup

            export ANDROID_HOME=$HOME/Library/Android/sdk
            export PATH=$PATH:$ANDROID_HOME/emulator
            export PATH=$PATH:$ANDROID_HOME/tools
            export PATH=$PATH:$ANDROID_HOME/tools/bin
            export PATH=$PATH:$ANDROID_HOME/platform-tools
            

            【讨论】:

              【解决方案9】:

              编辑:

              根据更新的问题,下面有截图评论,您的问题似乎与this other post from years ago有关。

              我可以为您提供的解决方案是找到您的 gradle*.zip 文件,删除它,然后重新运行命令 .这样,该命令将尝试再次下载 gradle。而这一次,请确保在命令运行过程中您的连接是稳定的,因为该命令会再次重新下载 gradle zip。

              由于我提供的解决方案的原因,根据链接,是您的连接不稳定,过程中下载的gradle zip损坏。

              上一个答案:

              您的计算机上是否安装了Android Studio

              您是否尝试在从 Android Studio 启动 Android 模拟器设备后再次运行该命令?

              您提到的 AFAIK 命令不会尝试为您运行任何模拟器,您需要自己运行模拟器来测试您的应用。

              您还需要安装 Android SDK 才能运行 react-native android-app。 它没有带有 react-native,但带有 Android Studio。

              所以,也许你应该从那里开始!

              【讨论】:

              • 感谢您的评论,很抱歉回复晚了,我已经尝试了最重要的步骤仍然无法正常工作。但旧项目在模拟器中运行良好。您能分享一下您的新解决方案吗?
              • @prafulargiddi 我在上面更新了我的答案。请尝试点击我更新的答案中的链接。
              • 在 ma 的 android 文件夹中没有 'gradle.zip' 文件
              【解决方案10】:

              你可以这样做:

              打开 Android Studio > 配置 > AVD 管理器 > 停止虚拟设备

              最后:

              npx react-native run-android 
              

              这对我有用。

              【讨论】:

                【解决方案11】:

                当您在计算机上运行以前从未运行过的应用时,通常会发生此错误。解决这个问题的一个简单方法是:

                1. 在 Android Studio 上打开并运行您的应用
                2. 让它在 Gradle 中构建一切。
                3. 完成后,关闭 Android Studio
                4. 在 Visual Studio Code 上重新打开您的应用程序,它会正常工作。

                【讨论】:

                  【解决方案12】:

                  这个命令对我有用 -

                  cd android
                  chmod +x gradlew
                  

                  【讨论】:

                    【解决方案13】:

                    我今天也遇到了这个问题。当您从其他用户那里获取项目时,就会发生这种情况。因此ndksdk 路径属于其他用户。因此,请确保您的 local.properties 文件中正确提及了 ndksdk 路径。

                    【讨论】:

                      【解决方案14】:

                      就我而言,只有当我尝试在我的物理设备上运行它时才会收到此错误。从开发者选项激活Install via USB 解决了这个问题。

                      【讨论】:

                        【解决方案15】:
                        1. ..\..\android\.gradle打开你项目的gradle目录
                        2. 有gradle版本目录。删除它并从https://services.gradle.org/distributions/下载新版本
                        3. 然后将新版本粘贴到您的目录中。

                        打开 vscode 进入 android → gradle/wrapper → gradle-wrapper.properties 下载新的 gradle 版本后,我们必须更改

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

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

                        【讨论】:

                          【解决方案16】:

                          这在 UBUNTU 中有效

                          使用以下代码打开编辑器

                          sudo gedit ~/.bashrc
                          

                          然后在最后粘贴以下行(确保根据您的系统路径指定路径名)

                          export BASE_DIR="/home/sid"
                          export ANDROID_SDK=$BASE_DIR/Sdk
                          export ANDROID_PATH=$ANDROID_SDK/tools:$ANDROID_SDK/platform-tools
                          export ANDROID_HOME=$BASE_DIR/Sdk
                          export FLUTTER=$BASE_DIR/developement/flutter/bin
                          export PATH=$PATH:$BASE_DIR:$ANDROID_PATH:$ANDROID_HOME:$FLUTTER
                          export PATH=$PATH:$ANDROID_HOME/tools
                          export PATH=$PATH:$ANDROID_HOME/tools/bin
                          export PATH=$PATH:$ANDROID_HOME/platform-tools
                          export PATH=$PATH:$ANDROID_HOME/emulator
                          
                          
                          JAVA_HOME="/home/sid/android-studio/jre"
                          PATH="$PATH:$HOME/bin:$JAVA_HOME/bin"
                          export JAVA_HOME
                          export JRE_HOME
                          export PATH
                          

                          最后在终端运行以下代码进行修改

                          source ~/.bashrc
                          

                          【讨论】:

                          • 你的意思是 BASE_DIR="/home/'username'/Android"
                          【解决方案17】:

                          对我来说,问题是 android/app/src/res 下的 res 文件夹被删除了,所以我可以制作一个 apk。然后将该项目与已删除的文件一起推送到 git 上。 我通过将 res 文件再次添加到项目中解决了这个问题。

                          【讨论】:

                            【解决方案18】:

                            如果您在项目中安装了 expo,则运行 expo start --android 而不是 npm run android。这就是我让我的应用程序运行的方式。

                            【讨论】:

                              【解决方案19】:
                              npx --quiet react-native config or npx.cmd --quiet react-native config
                              

                              这对我有用。

                              【讨论】:

                                【解决方案20】:

                                对我来说,设置adb reverse,然后清除开发服务器缓存。

                                第 1 步

                                关注link 并设置 adb reverse。

                                第 2 步: 运行这个来清除开发服务器缓存:

                                npx react-native start --reset-cache
                                

                                最后: 运行此程序以捆绑 android 文件并在您的设备上安装调试 apk:

                                npx react-native run-android
                                

                                【讨论】:

                                  【解决方案21】:

                                  在 Windows 中使用 attrib 命令解决它。 gradle 目录可能需要写权限。

                                  proyect> cd android (enter)
                                  proyect/android> attrib -r gradle (enter)
                                  

                                  【讨论】:

                                    【解决方案22】:

                                    我也有以下错误

                                    Task :react-native-charts-wrapper:mergeDebugJniLibFolders FAILED
                                    

                                    并通过在 android/build.gradle 中添加以下更改来修复它:

                                    subprojects {
                                        project.configurations.all {
                                            resolutionStrategy.eachDependency { details ->
                                                if (details.requested.group == 'com.google.android.gms'
                                                    && details.requested.name.contains('play-services-gcm')) {
                                                    details.useVersion '16.0.0'
                                                }
                                            }
                                        }
                                    }
                                    

                                    【讨论】:

                                      【解决方案23】:

                                      这对我有用 Windows 10

                                      cd android && chmod +x gradlew
                                      

                                      如果您收到错误提示 **'chmod' is not recognized as an internal or external command** 那么您需要安装 Git

                                      下载并安装 git。

                                      那么

                                      • C驱动器在Program Files文件夹中,你会找到名为Git的文件夹,找到usr然后找到bin

                                      • 在我的例子中,bin 文件夹的位置是:

                                        • C:\Program Files\Git\usr\bin
                                      • 将此位置C:\Program Files\Git\usr\bin 添加到系统环境变量中的路径变量中。

                                      • 重启cmd。

                                      终于再试一次

                                      cd android && chmod +x gradlew
                                      

                                      祝你好运

                                      【讨论】:

                                        【解决方案24】:

                                        解决方法基本上是使用 wi-fi 连接在您的物理设备上运行应用程序。

                                        1 - 打开你的 cmd;

                                        2->adb tcpip 5555;

                                        3 - 使用您的设备 IP,运行以下命令:adb connect deviceIp;

                                        (如果您不知道如何找到设备的 ip´:https://help.simpletelly.com/article/329-how-to-find-your-android-device-ip-address

                                        【讨论】:

                                          【解决方案25】:

                                          确保您的依赖项已更新以支持您的 react-native 版本(对我来说,当我更新到 RN65 时它是 react-native-navigation)。

                                          【讨论】:

                                            【解决方案26】:

                                            在我的情况下,我正确设置了 ANDROID_HOME 环境变量......但错误有更多细节说:

                                            Unable to make field private final java.lang.String java.io.File.path accessible

                                            这意味着我安装了错误的Java JDK 版本,即JDK 17,这个答案在发布时不支持...

                                            Java JDK 降级为Java JDK 11 解决了问题

                                            【讨论】:

                                              【解决方案27】:

                                              2022 年 1 月,我遇到了同样的问题。我正在使用运行 AMD Ryzen 3 的 Windows 11 机器。上面给出的所有步骤都失败了。唯一对我有用的解决方案是关闭我的 Avast 防病毒软件并再次运行 npx react-native run-android

                                              防病毒软件具有阻止某些操作的勒索软件防护罩,因此当我检查错误日志并发现拒绝访问是问题所在的区域时,我认为它可能是我的防病毒软件。

                                              我可以解决此问题的另一种方法是将项目文件夹移动到我的桌面以外的其他目录(这是一个受保护的目录)或从我的 Avast 勒索软件设置中更改保护设置,以便桌面不再是受保护的目录。

                                              【讨论】:

                                                【解决方案28】:

                                                我遇到了同样的问题。我使用 npm 安装 Expo CLI 命令行实用程序

                                                npm install -g expo-cli
                                                

                                                在你的 React Native 项目目录中运行

                                                npm start 
                                                

                                                或者你也可以使用:

                                                expo start
                                                

                                                这对我有用

                                                【讨论】:

                                                  【解决方案29】:

                                                  你可以使用另一种方式来运行 react native 她的两种方式来运行 app more details app 我已经解决了这个

                                                  安装expo - npm 包,

                                                  npm add expo
                                                  

                                                  并启动项目

                                                  expo start
                                                  

                                                  【讨论】:

                                                    猜你喜欢
                                                    • 1970-01-01
                                                    • 2020-01-28
                                                    • 1970-01-01
                                                    • 2022-01-06
                                                    • 1970-01-01
                                                    • 1970-01-01
                                                    • 1970-01-01
                                                    • 1970-01-01
                                                    • 1970-01-01
                                                    相关资源
                                                    最近更新 更多