【问题标题】:Why my terminal does not see the running android emulator?为什么我的终端看不到正在运行的安卓模拟器?
【发布时间】:2021-07-06 07:13:18
【问题描述】:

我正在尝试在 Android 模拟器中运行我们的 react 本机应用程序,yarn android 模拟器启动但应用程序没有启动,几秒钟后我收到以下错误:

yarn run v1.22.10
$ react-native run-android
info Running jetifier to migrate libraries to AndroidX. You can disable it using "--no-jetifier" flag.
Jetifier found 1755 file(s) to forward-jetify. Using 8 workers...
info Starting JS server...
info Launching emulator...
error Failed to launch emulator. Reason: Could not start emulator within 30 seconds..
warn Please launch an emulator manually or connect a device. Otherwise app may fail to launch.
info Installing the app...

error Failed to install the app. Make sure you have the Android development environment set up: https://reactnative.dev/docs/environment-setup. Run CLI with --verbose flag for more details.
Error: spawn ./gradlew EACCES
    at Process.ChildProcess._handle.onexit (node:internal/child_process:282:19)
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

该项目可以在 XCode (ios) 中完美运行,也可以在我同事的笔记本电脑(使用 Windows)中运行。

我使用的是 Macbook Air m1,macOS 11.3.1,SDK 平台:Android S,Android Studio 4.2.2,yarn 版本 v1.22.10,节点 v15.12.0,

【问题讨论】:

    标签: android react-native android-emulator


    【解决方案1】:

    这可能是您系统上当前开发环境的本机配置问题。

    请仔细查看官方文档来设置环境。

    React native Docs

    【讨论】:

      【解决方案2】:

      首先,确保您的 Android 环境设置正确。

      验证运行

      1. echo $ANDROID_HOME
      2. echo $PATH

      并确保两者都具有您的 Android SDK 的正确路径。

      如果不正确,您必须设置您的 Android 环境

      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
      

      参考react-native-official-setup-guide

      除此之外,我看到的主要问题与 Macbook Air M1 有关,我也遇到了类似的问题,M1 不支持 VT -X.

      为确保您的 Macbook Air M1 支持 VT-X 打开Android Studio,然后打开AVD Manager

      示例(我的 Macbook)(在 PURPLE Box 中标记,不支持 VT-X)

      解决方案:android-emulator-apple-silicon-preview下载新的模拟器

      这应该使开发人员能够通过 ARM64 硬件虚拟化测试/运行 ARM64 应用。

      【讨论】:

        【解决方案3】:

        对于“错误:在 Process.ChildProcess._handle.onexit (node:internal/child_process:282:19) 处产生 ./gradlew EACCES”。

        请尝试输入:

        chmod 755 android/gradlew
        

        在项目的根目录中。那么:

        npx react-native run-android
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2017-04-01
          • 2021-06-22
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多