运行 android 模拟器上的 react-native
Run react-native on android emulator
我尝试 运行 在我的 mac 上的 genymotion android 模拟器上反应本机应用程序。
当我写 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 模拟器上运行 运行 应用程序时,出现与上面相同的错误,但没有 error: closed
.
我可以从 android 工作室 运行 这个应用程序,它可以在 genymotion 上运行。
请告诉我,我应该如何在 android 模拟器上 运行 我的应用程序?
遇到了类似的问题。我更新了我的 Genymotion 和我的 android SDK's/libraries/dependencies,一切似乎都有效。为了更新我的 SDK,我使用了 android sdk manager {ANDROID_SDK_FOLDER}/tools/android sdk
我遇到了类似的问题,在花了很多时间和大量搜索这个问题之后,唯一对我有用的技巧是:
- 请如图所示安装所需的SDK
Configure Required SDKs
- 如果您已经安装了它,那么您必须更新以下SDK:
Android SDK Tool
(更新到最新版本)
Android SDK Platform-tools
(更新到最新版本)
Android SDK Build-tools
(更新到最新版本)
Android Support Repository
在 Extra
文件夹下(更新到最新版本)
- 您必须至少安装与
Android SDK Build-tools
& Android SDK Platform-tools
版本相同的 Android API
版本,如上图 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 .
碰巧我有一个打包程序的实例 运行 一个旧项目(我 运行 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"
我不知道 react-native 是否有一些令人困惑的东西,但这确实有效。
我每次都在 android studio 或在物理设备上遇到类似的问题 运行ning 模拟器。相反,您可以从命令行快速 运行 android 模拟器,
android avd
模拟器 运行ning 后,您可以使用 adb devices
检查模拟器是否出现。
然后你可以简单地使用
react-native run-android
至 运行 模拟器上的应用程序。
确保您已安装平台工具以便能够使用 adb
。或者你可以使用
brew install android-platform-tools
在 Windows 10 和 Android Studio 中,您可以进入 Android Studio 中的“文件”->“设置”,然后转到“外观和行为”->“系统设置”->“Android SDK”。
在选项卡“SDK 工具”中处于活动状态:
- "Android SDK Build-Tools .."
- Android 模拟器
- "Android SDK Plattform-Tools"
- "Android SDK 工具"
如果全部安装,那么您可以在 Android Studio 中使用“工具”->“Android”->“AVD 管理器”启动模拟器。
如果模拟器 运行 你可以尝试“react-native run-android”
在我的例子中,发生这种情况是因为 android/gradlew 文件没有执行权限。一旦授予,这很好
在 macO 上,我设法通过添加来解决这个问题:
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_profile 文件。
然后输入您的终端
source $HOME/.zsh_profile
这个问题是由使用 iTerm2 引起的 shell 所以需要编辑它自己的配置而不是默认的 $HOME/.bash_profile 如官方文档所述 https://reactnative.dev/docs/environment-setup
您也可以尝试使用“医生”命令。它会解决大多数情况。
npx @react-native-community/cli doctor
尝试
- brew cask 安装android-platform-tools
- adb 反向 tcp:9090 tcp:9090
- 运行 应用
您可能永远 运行 Android SDK。
所以你可能只需要更新它。
如果您打开 Android Studio 软件,它可能会让您知道并要求为您更新。否则参考以下link:Update Android SDK
如果没有安装模拟器然后尝试这个命令,(如果安装了自制软件)
brew install android-platform-tools
可能会有帮助。
React Native(在 Mac OS Big SUR 上)
我被困在这里了。但是更新 Android studio 的环境设置就成功了。
nano ~/.zshrc
并粘贴
export ANDROID_SDK_ROOT=$HOME/Library/Android/sdk
export ANDROID_HOME=$HOME/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/emulator:$PATH
export PATH=$PATH:$ANDROID_HOME/tools:$PATH
export PATH=$PATH:$ANDROID_HOME/tools/bin:$PATH
export PATH=$PATH:$ANDROID_HOME/platform-tools:$PATH
export JAVA_HOME=$(/usr/libexec/java_home)
control + o
保存
然后 enter
然后 control + x
退出
然后做
source ~/.zshrc
编译
杀死 运行nig 终端和 运行
npx react-native run-android
就我而言,android/gradlew 文件存在问题。我认为当我们将代码从 Windows 移动到 Mac OS.
时会发生这种情况
参考:-
我能够通过 运行 执行以下命令来清理 android/gradlew 文件 -
第 1 步。在 android 文件夹 cmd 运行
chmod +x gradlew
第 2 步。之后 运行
./gradlew clean
第 3 步。接下来在项目的根目录中,运行
react-native run-android
这应该会开始构建应用程序并在模拟器中启动它(如果其他一切都很好的话)。
我尝试 运行 在我的 mac 上的 genymotion android 模拟器上反应本机应用程序。
当我写 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 模拟器上运行 运行 应用程序时,出现与上面相同的错误,但没有 error: closed
.
我可以从 android 工作室 运行 这个应用程序,它可以在 genymotion 上运行。 请告诉我,我应该如何在 android 模拟器上 运行 我的应用程序?
遇到了类似的问题。我更新了我的 Genymotion 和我的 android SDK's/libraries/dependencies,一切似乎都有效。为了更新我的 SDK,我使用了 android sdk manager {ANDROID_SDK_FOLDER}/tools/android sdk
我遇到了类似的问题,在花了很多时间和大量搜索这个问题之后,唯一对我有用的技巧是:
- 请如图所示安装所需的SDK
Configure Required SDKs
- 如果您已经安装了它,那么您必须更新以下SDK:
Android SDK Tool
(更新到最新版本)Android SDK Platform-tools
(更新到最新版本)Android SDK Build-tools
(更新到最新版本)Android Support Repository
在Extra
文件夹下(更新到最新版本)
- 您必须至少安装与
Android SDK Build-tools
&Android SDK Platform-tools
版本相同的Android API
版本,如上图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 .
碰巧我有一个打包程序的实例 运行 一个旧项目(我 运行 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"
我不知道 react-native 是否有一些令人困惑的东西,但这确实有效。
我每次都在 android studio 或在物理设备上遇到类似的问题 运行ning 模拟器。相反,您可以从命令行快速 运行 android 模拟器,
android avd
模拟器 运行ning 后,您可以使用 adb devices
检查模拟器是否出现。
然后你可以简单地使用
react-native run-android
至 运行 模拟器上的应用程序。
确保您已安装平台工具以便能够使用 adb
。或者你可以使用
brew install android-platform-tools
在 Windows 10 和 Android Studio 中,您可以进入 Android Studio 中的“文件”->“设置”,然后转到“外观和行为”->“系统设置”->“Android SDK”。 在选项卡“SDK 工具”中处于活动状态:
- "Android SDK Build-Tools .."
- Android 模拟器
- "Android SDK Plattform-Tools"
- "Android SDK 工具"
如果全部安装,那么您可以在 Android Studio 中使用“工具”->“Android”->“AVD 管理器”启动模拟器。 如果模拟器 运行 你可以尝试“react-native run-android”
在我的例子中,发生这种情况是因为 android/gradlew 文件没有执行权限。一旦授予,这很好
在 macO 上,我设法通过添加来解决这个问题:
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_profile 文件。
然后输入您的终端
source $HOME/.zsh_profile
这个问题是由使用 iTerm2 引起的 shell 所以需要编辑它自己的配置而不是默认的 $HOME/.bash_profile 如官方文档所述 https://reactnative.dev/docs/environment-setup
您也可以尝试使用“医生”命令。它会解决大多数情况。
npx @react-native-community/cli doctor
尝试
- brew cask 安装android-platform-tools
- adb 反向 tcp:9090 tcp:9090
- 运行 应用
您可能永远 运行 Android SDK。 所以你可能只需要更新它。 如果您打开 Android Studio 软件,它可能会让您知道并要求为您更新。否则参考以下link:Update Android SDK
如果没有安装模拟器然后尝试这个命令,(如果安装了自制软件)
brew install android-platform-tools
可能会有帮助。
React Native(在 Mac OS Big SUR 上)
我被困在这里了。但是更新 Android studio 的环境设置就成功了。
nano ~/.zshrc
并粘贴
export ANDROID_SDK_ROOT=$HOME/Library/Android/sdk
export ANDROID_HOME=$HOME/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/emulator:$PATH
export PATH=$PATH:$ANDROID_HOME/tools:$PATH
export PATH=$PATH:$ANDROID_HOME/tools/bin:$PATH
export PATH=$PATH:$ANDROID_HOME/platform-tools:$PATH
export JAVA_HOME=$(/usr/libexec/java_home)
control + o
保存
然后 enter
然后 control + x
退出
然后做
source ~/.zshrc
编译
杀死 运行nig 终端和 运行
npx react-native run-android
就我而言,android/gradlew 文件存在问题。我认为当我们将代码从 Windows 移动到 Mac OS.
时会发生这种情况参考:-
我能够通过 运行 执行以下命令来清理 android/gradlew 文件 -
第 1 步。在 android 文件夹 cmd 运行
chmod +x gradlew
第 2 步。之后 运行
./gradlew clean
第 3 步。接下来在项目的根目录中,运行
react-native run-android
这应该会开始构建应用程序并在模拟器中启动它(如果其他一切都很好的话)。