反作用

我试图让本机反应与 Android V4.2.2 (Genymotion)的工作,但我无法在模拟器上测试应用程序。当我运行 react-native run-android时,我得到这个错误 Could not run adb reverse: spawnSync

这是木头

JS server already running.
Running ~/Library/Android/sdk/platform-tools/adb reverse tcp:8081 tcp:8081
Could not run adb reverse: spawnSync ~/Library/Android/sdk/platform-tools/adb ENOENT
Building and installing the app on the device (cd android && ./gradlew installDebug...


FAILURE: Build failed with an exception.


* What went wrong:
A problem occurred configuring project ':app'.
> The SDK directory '~/Library/Android/sdk' does not exist.


* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.


BUILD FAILED


Total time: 3.785 secs
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

注意: 在日志中,它说 SDK 目录不存在,我有双重检查,我有 SDK 安装在该目录。

我在执行 adb devices时找到了我的仿真器

List of devices attached
192.168.56.101:5555 device

我已经尝试了 Stack Overflow 文章中的以下步骤,但仍然没有结果 Https://stackoverflow.com/a/38536290/4540216

135749 次浏览

我得到了同样的问题。我更新了我的 ANDROID _ HOME env 变量,它再次为我工作。

跟着这个 React-本机 android-setup 文档

例如:

export ANDROID_HOME=~/Library/Android/sdk

视窗:

set ANDROID_HOME=c:/Users/whoever/AppData/Local/Android/Sdk

MacOS Mojave 和早期或 bash 用户:

1-打开 bash 配置文件:

open .bash_profile

将这个添加到 bash _ profile:

 export ANDROID_SDK=/Users/<your_computer_name>/Library/Android/sdk
export PATH=/Users/<your_computer_name>/Library/Android/sdk/platform-tools:$PATH

保存并关闭

编译您的更改

source ~/.bash_profile

对于 macOS Catalina 和 zsh 用户:

从 macOS Catalina 开始,Mac 使用 zsh 作为默认登录 shell 和交互式 shell。您也可以在早期版本的 macOS 中将 zsh 设置为默认值。

在你的 Mac 上:

打开你的.zhrc 文件:

open ~/.zshrc

如果. zhrc 文件不存在,您需要使用 touch & open 创建一个。

touch ~/.zshrc

将此文件添加到您的. zhrc 文件中

export ANDROID_SDK=/Users/<your_computer_name>/Library/Android/sdk
export PATH=/Users/<your_computer_name>/Library/Android/sdk/platform-tools:$PATH

保存并关闭

编译您的更改

source ~/.zshrc

编辑: 为 macOS Catalina 和 zsh 用户更新的答案。

I also got the same issue. And I updated my ANDROID_HOME env variable again in same cmd and it was worked fine.

> export ANDROID_HOME=~/Android/Sdk
> export PATH=$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools

祝你好运

首先,我在. bash _ profile 中设置了这样的路径

export PATH="~/Library/Android/sdk/platform-tools":$PATH
export ANDROID_HOME="~/Library/Android/sdk/platform-tools"

但这解决不了我的问题。

对我来说,通过在 包裹 Json中的 剧本标签下添加下面的 npm 脚本,就像 Mac 上的魅力一样。

"android-dev": "adb reverse tcp:8081 tcp:8081 && react-native run-android"

然后我只是运行 npm run android-dev,它的所有设置。确保在你的应用程序设置中已经启用 Live reload,通过这种方式,我可以在手机上开发服务器,并立即看到应用程序中代码的变化。

我通过安装 adb 解决了这个错误

在 Linux 上

sudo apt-get install android-tools-adb

从 macOS Catalina 开始,Mac 使用 zsh 作为默认登录 shell 和交互式 shell。您也可以在早期版本的 macOS 中将 zsh 设置为默认值。 关于 zsh 的更多细节来自 Apple

所以在你的 Mac 上:

1-打开你的.zhrc 文件:

open ~/.zshrc

2-如果. zhrc 文件不存在,您需要创建一个并再次打开(步骤1)

touch ~/.zshrc

3-将其添加到您的. zhrc 文件中(添加 JAVA _ HOME 以使用 Android Studio 嵌入式 JDK)

export JAVA_HOME=/Applications/Android\ Studio.app/Contents/jre/Contents/Home
export ANDROID_HOME=/Users/<your_computer_name_here>/Library/Android/sdk
export PATH=$ANDROID_HOME/emulator:$PATH
export PATH=$ANDROID_HOME/platform-tools:$PATH
export PATH=$ANDROID_HOME/tools:$PATH
export PATH=$ANDROID_HOME/tools/bin:$PATH

4-保存并关闭

编译您的更改

source ~/.zshrc

(确保重新启动终端)。

这就是我的解决办法 操作系统: Linux 薄荷

sudo apt-get install android-tools-adb

这个答案适用于 MacOs Catalina或以上的用户或 zsh用户,因为您的 Mac 现在使用 zsh 作为默认登录 shell 和交互式 shell。

这与路径问题有关。

如果您遵循本地 Setting up the development environment指南的文档,那么请执行以下操作。

  1. 使用编辑器打开 ~/.zshrc
vim ~/.zshrc
  1. 为路径添加以下行。
export ANDROID_HOME="/Users/<yourcomputername>/Library/Android/sdk"
export PATH=$ANDROID_HOME/emulator:$PATH
export PATH=$ANDROID_HOME/tools:$PATH
export PATH=$ANDROID_HOME/tools/bin:$PATH
export PATH=$ANDROID_HOME/platform-tools:$PATH

一定要正确地添加上面的行,否则它会给你一个奇怪的错误。

  1. 保存更改并关闭编辑器。

  2. 最后,现在编译您的更改

source ~/.zshrc

这个对我有用,希望对你有帮助。

这招对我很管用,

在 Linux 上

sudo apt-get install android-tools-adb

如果没有一个解决方案有效,请尝试运行 Source ~/. bash _ profile & & response-本地 run-android

在 android 脚本下的 package.json 文件中将其更新为 “ android”: “ source ~/. bash _ profile & & response-national run-android”

对于 MacOS 版本的 Catalina 及以上版本: “ android”: “ source ~/. zhrc & & response-national run-android”

只给麦克

如果接受的答案不适合你,然后检查你的系统上是否安装了“ adb”。如果没有,使用自制软件安装 adb。

在我的情况下,我使用的是 Pop OS (Ubuntu)并且我安装了 android 工作室,所以我只是

ln -s ~/Android/Sdk/platform-tools/adb /usr/bin/adb

我在 Linux 上,在我的例子中,ANDROID _ HOME env 变量已经被添加到。但是路径是不正确的,修正了路径修正了它。

export ANDROID_SDK_ROOT=$HOME/Android/Sdk
export ANDROID_HOME=$HOME/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

在 ~/. zhrc 文件中添加这些文件并重新加载终端。

  1. 触摸 ~/. zhrc
  2. 打开 ~/. zhrc
  3. 加 导出 ANDROID _ SDK =/Users/< your _ computer _ name >/Library/ANDROID/sdk Export PATH =/Users/< your _ computer _ name >/Library/Android/sdk/Platform-tools: $PATH
  4. 拯救
  5. 来源 ~/. zhrc
  6. 运行机器人