在Android模拟器上运行react-native
我尝试在我的mac上运行genymotion android模拟器上的react-native应用程序。 当我写react-native run-android
它得到在Android模拟器上运行react-native
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模拟器应用它得到以上但没有error: closed
同样的错误。
从android studio我可以运行这个程序,它可以在genymotion上运行。 请告诉我,我应该怎么做才能在android模拟器上运行我的应用程序?
有类似的问题。我更新了我的Genymotion和我的android SDK /库/依赖关系,并且都似乎工作。更新SDK的我用的Android SDK经理{ANDROID_SDK_FOLDER}/tools/android sdk
我也有类似的问题,花那么多的时间和大量搜索关于这个问题的唯一窍门为我工作后:
- 请安装所需的作为软件开发工具包该图中所示Configure Required SDKs
- 如果你已经安装了它,所以你必须有更新的SDK如下:
-
Android SDK Tool
(将其更新到最新版本) -
Android SDK Platform-tools
(将其更新到最新版本) -
Android SDK Build-tools
(将其更新到最新版本) -
Android Support Repository
Extra
文件夹(将其更新到最新版本)
-
- 您必须至少安装在同一版本下
Android API
作为安装Android SDK Build-tools
&Android SDK Platform-tools
版本如图中所示Configure Required SDKs
Note: Local Maven repository for Support Libraries which is listed as the SDK requirement in the official docs of React-native is now named as Android Support Repository in the SDK Manager .
嗨,朋友们!如果你喜欢这个答案,请不要忘记把它投票... 谢谢:) –
你能解释它是如何解决'adb reverse tcp:8081 tcp:8081'' error:closed' problem? –
这可能是由于您的Android操作系统版本发生的...... 'adb reverse tcp:8081 tcp:8081'只适用于操作系统版本> = 5的设备 –
它发生在我身上,我有一个包装程序与一个旧项目运行的实例(我像往常一样运行react-native start)。我正在使用Ubuntu 14.04。所以我所做的就是要阻止这种情况下,去到我的项目文件夹,并在两个不同的控制台选项卡我单独跑这两个命令:
npm start #here I used to run react-native start
react-native run-android
NPM开始在我的package.json定义为:
"start": "node_modules/react-native/packager/packager.sh"
我不知道是否有一种令人困惑的东西反应原生的,但是这个伎俩。
我有类似的问题每次运行在android studio的模拟器,或在物理设备上。相反,你可以快速地从从命令行运行Android模拟器,
android avd
一旦模拟器运行时,你可以用adb devices
检查仿真器显示出来。 然后你可以简单地使用 react-native run-android
在模拟器上运行应用程序。
确保您安装的平台工具能够使用adb
。或者你可以使用
brew install android-platform-tools
在Windows 10和Android Studio中,卡恩去Android Studio中“文件” - >中设置“设置”,然后以“外观&行为” - >“系统设置” - >“ Android SDK“。 在Tab“SDK Tools”中激活:
- “Android SDK Build-Tools ..”“
- ”Android模拟器“
- ”的Android SDK Plattform-工具“
- ”Android SDK工具“
如果所有已安装的,那么你可以开始在Android Studio中的仿真器的 ”工具“ - > “Android” - >“AVD Manager” 如果仿真器运行,您可以尝试“react-native run-android”
'adb revese'只适用于Android 5.0+设备 – Xeijp
是的,我不知道是什么我刚刚重新创建项目,一切正常。 – alborozd
我相信如果你的Android手机(假设你有一个)连接到你的电脑,它可能会试图将它安装在该设备上。如果它被插入,我会建议拔掉它,确保你的模拟器正在运行,然后再次尝试'react-native run-android'命令。 – jasonmerino