Android emulator 在android emulator上运行react native
我尝试在mac上的genymotion android emulator上运行react本机应用程序。 当我写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
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
(更新至最新版本)Android SDK工具
(更新至最新版本)Android SDK平台工具
(更新至最新版本)Android SDK构建工具
文件夹下的Extra
(更新至最新版本)Android支持存储库
Android SDK构建工具
和Android SDK平台工具
版本相同的Android API
,如上图配置所需SDK
所示碰巧我有一个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工具”
如果模拟器运行,您可以在我的例子中尝试“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
不支持