Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android emulator 在android emulator上运行react native_Android Emulator_React Native_Adb_Genymotion_React Native Android - Fatal编程技术网

Android emulator 在android emulator上运行react native

Android emulator 在android emulator上运行react native,android-emulator,react-native,adb,genymotion,react-native-android,Android Emulator,React Native,Adb,Genymotion,React Native Android,我尝试在mac上的genymotion android emulator上运行react本机应用程序。 当我写react native run android时 Running /usr/local/opt/android-sdk/platform-tools/adb reverse tcp:8081 tcp:8081 error: closed Could not run adb reverse: Command failed: /usr/local/opt/android-sdk/platf

我尝试在mac上的genymotion android emulator上运行react本机应用程序。 当我写
react native run android

Running /usr/local/opt/android-sdk/platform-tools/adb reverse tcp:8081 tcp:8081
error: closed
Could not run adb reverse: Command failed: /usr/local/opt/android-sdk/platform-tools/adb reverse tcp:8081 tcp:8081
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
MacBook-Pro-MacBook:ART-CarefulPeople macbook$ 
然后我试过:

  • react native start
  • react原生运行android
  • 同样的结果

    然后我试过:

  • react native bundle--entry file index.android.js--platform android--bundle输出android/app/src/main/assets/index.android.bundle

  • curl”http://localhost:8081/index.android.bundle?platform=android“-o”android/app/src/main/assets/index.android.bundle“

  • react原生运行android

  • 同样的结果

    我刚刚试过
    adb反向tcp:8081 tcp:8081
    ,它说
    error:closed

    当我尝试在android sdk emulator上运行应用程序时,它会收到上面相同的错误,但没有
    错误:closed

    从android studio我可以运行这个应用程序,它可以在genymotion上运行。
    请告诉我在android emulator上运行我的应用程序应该做什么?

    也有类似的问题。我更新了我的Genymotion和我的androidsdk/libraries/dependencies,所有这些似乎都正常工作。为了更新我的SDK,我使用了android SDK管理器
    {android\u SDK\u FOLDER}/tools/android SDK

    我也遇到了类似的问题,在花了这么多时间和大量时间搜索这个问题后,唯一的技巧对我有效:

  • 请按此图所示安装所需的SDK
  • 配置所需的SDK

  • 如果已安装,则必须更新以下SDK:
    • Android SDK工具
      (更新至最新版本)
    • Android SDK平台工具
      (更新至最新版本)
    • Android SDK构建工具
      (更新至最新版本)
    • Extra
      文件夹下的
      Android支持存储库
      (更新至最新版本)
  • 您必须至少安装了与已安装的
    Android SDK构建工具
    Android SDK平台工具
    版本相同的
    Android API
    ,如上图
    配置所需SDK
    所示
  • 注意:在React native的官方文档中作为SDK要求列出的本地Maven支持库现在在SDK管理器中命名为Android支持库


    碰巧我有一个packager实例与一个旧项目一起运行(我像往常一样运行react native start)。我使用的是Ubuntu 14.04。因此,我所做的是停止该实例并转到我的项目文件夹,然后在两个不同的控制台选项卡中分别运行这两个命令:

    npm start #here I used to run react-native start
    react-native run-android
    
    npm启动在mypackage.json中定义为:

    "start": "node_modules/react-native/packager/packager.sh"
    

    我不知道react native是否有一种令人困惑的东西,但这确实起到了作用。

    每次在android studio或物理设备上运行emulator时,我都会遇到类似的问题。相反,您可以从命令行快速运行android emulator

    android avd
    
    仿真器运行后,如果仿真器出现,您可以使用
    adb设备
    进行检查。 然后你可以简单地使用
    react native run android
    在模拟器上运行应用程序

    确保已安装平台工具,以便能够使用
    adb
    。或者你可以使用

    brew install android-platform-tools
    

    在Windows 10和Android Studio上,您可以在Android Studio中进入“设置”中的“文件”->“设置”,然后进入“外观和行为”->“系统设置”->“Android SDK”。 在“SDK工具”选项卡中,激活:

    • “Android SDK构建工具..”
    • “Android仿真器”
    • “Android SDK平台工具”
    • “Android SDK工具”
    如果全部安装,则可以在Android Studio中使用“工具”->“Android”->“AVD管理器”启动模拟器。
    如果模拟器运行,您可以在我的例子中尝试“react native run android”

    ,这是因为android/gradlew文件没有执行权限。一旦批准,这在macOs上运行良好

    ,我通过添加以下内容来解决这一问题:

    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
    
    到~/.zsh_配置文件

    然后输入你的终端

    source $HOME/.zsh_profile
    
    该问题是由使用iTerm2 shell引起的,因此需要编辑其自己的配置,而不是官方文档中所述的默认$HOME/.bash_配置文件。您也可以尝试使用“医生”命令。它可以解决大多数情况

    npx @react-native-community/cli doctor
    
    试一试

    • brew cask安装android平台工具
    • adb反向tcp:9090 tcp:9090
    • 运行应用程序

      • 您可能已经很久没有运行Android SDK了。 所以你可能只需要更新它。
        如果你打开Android Studio软件,它可能会让你知道,并要求你更新它。否则,请参阅以下链接:

        如果未安装emulator,请尝试此命令(如果已安装homebrew)

        brew安装android平台工具


        可能会有帮助。

        adb revese
        仅适用于Android 5.0+设备是的。我不知道那是什么。我刚刚重新创建了这个项目,一切正常。我相信,如果你的Android手机(假设你有一部)连接到你的电脑上,它可能正试图将它安装到那个设备上。如果它已插入,我建议拔下它,确保你的模拟器正在运行,然后再次尝试
        react native run android
        命令。朋友们好!!如果你喜欢这个答案,请别忘了投赞成票。。。谢谢:)你能解释一下它是如何解决tcp:8081 tcp:8081问题的吗?这可能是由于你的android操作系统版本造成的
        adb reverse tcp:8081 tcp:8081
        仅适用于操作系统版本>=5的设备不要安装命令行工具,它们已被弃用。按照此处的说明使用Android Studio更新brew命令行安装上述Android平台工具。请尝试:brew cask安装android平台工具
        android avd
        不支持