首页 文章

在android模拟器上运行react-native

提问于
浏览
25

我尝试在我的mac上运行genymotion android模拟器上的react-native app . 当我写 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-native run-android

同样的结果 .

然后我试过了:

  • react-native bundle --entry-file index.android.js --platform android --bundle-output 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-native run-android

同样的结果 .

我试过 adb reverse tcp:8081 tcp:8081 然后说 error: closed

当我尝试在android-sdk模拟器上运行app时,它会得到相同的错误,但没有 error: closed .

从android studio我可以运行这个应用程序,它适用于genymotion . 请告诉我,我应该怎么做才能在Android模拟器上运行我的应用程序?

6 回答

  • 2

    我有类似的问题,花了这么多时间和大量搜索这个问题后,唯一的伎俩对我有用:

    • 请安装所需的SDK,如下图所示

    Configure Required SDKs
    Configure Required SDKs

    • 如果您已经安装了它,那么您必须更新以下SDK:

    • Android SDK Tool (将其更新至最新版本)

    • Android SDK Platform-tools (将其更新至最新版本)

    • Android SDK Build-tools (将其更新至最新版本)

    • Android Support RepositoryExtra 文件夹下(将其更新到最新版本)

    • 您必须至少安装了与安装的 Android SDK Build-toolsAndroid SDK Platform-tools 版本相同的版本 Android API ,如上面的 Configure Required SDKs 图所示 .

    注意:支持库的本地Maven存储库(在React-native的官方文档中列为SDK要求)现在在SDK Manager中命名为Android支持存储库 .

  • 7

    我每次或者在物理设备上都有类似的问题从android studio运行模拟器 . 相反,你可以从命令行快速运行android模拟器,

    android avd
    

    模拟器运行后,如果模拟器出现,您可以使用 adb devices 进行检查 . 然后你可以简单地使用 react-native run-android 在模拟器上运行应用程序 .

    确保安装了平台工具才能使用 adb . 或者你可以使用

    brew install android-platform-tools
    
  • 35

    碰巧我,我有一个运行旧项目的打包器实例(我像往常一样运行 react-native start ) . 我正在使用 Ubuntu 14.04 . 所以我做的是停止该实例并转到我的项目文件夹,并在两个不同的控制台选项卡中分别运行这两个命令:

    npm start #here I used to run react-native start
    react-native run-android
    

    npm start在我的 package.json 中定义为:

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

    我不知道是否存在一种令人困惑的反应本地化的东西,但这就是诀窍 .

  • 1

    有类似的问题 . 我更新了我的Genymotion和我的android SDK 's/libraries/dependencies and all seemed to work. To update my SDK' s我用的是android sdk manager {ANDROID_SDK_FOLDER}/tools/android sdk

  • -1

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

    • "Android SDK Build-Tools .."

    • "Android Emulator"

    • "Android SDK Plattform-Tools"

    • "Android SDK Tools"

    如果全部安装完毕,那么您可以使用“工具” - >“Android” - >“AVD Manager”在Android Studio中启动模拟器 . 如果模拟器运行你可以尝试“react-native run-android”

  • 1

    摇动手机然后转到 Dev Setings 然后转到 Debug server host & port for device 然后写下您所连接的电脑和端口的IP地址 . Example 192.168.9.2:8081

    这是最终和最佳解决方案 .

相关问题