10

Uber 目标:在 Windows 机器上调试/部署 react-native android 应用程序

问题:当部署到模拟器react-native run-android失败时,出现> com.android.builder.testing.api.DeviceException: No connected devices!. 我尝试运行adb devices,但没有返回任何设备。我的假设是要让这个工作我至少需要让 adb 知道模拟器,所以我在这里。

版本
Windows 10 Version 1703 (OS Build 15063.540)

abd Android Debug Bridge version 1.0.39 Revision 3db08f2c6889-android

适用于 Android 的 Visual Studio 模拟器 1.1.622.2

由模拟器托管的 Android 操作系统 KitKat (4.4) API Level 19

模拟设备 5" screen XXDPI Phone "Similar to Samsung Galaxy S5, Sony"

设置

  • 安卓操作系统:
    • 启用开发者模式
    • 开启 USB 调试
  • 虚拟机:
    • 2 GB 内存
    • 2个虚拟处理器
    • 1 Windows Phone Emulator外部虚拟交换机
    • 1 Windows Phone 模拟器内部虚拟交换机

结果
adb devices返回找不到设备,后跟两个空行:

List of devices attached
<blank line>
<blank line>

已经尝试/验证的内容

  • 经过验证的模拟器靴子
  • 已验证的模拟器具有网络连接和 IP 地址(我可以从模拟的 android 访问互联网)
  • 已验证我可以从主机 Win 10 机器 ping 所述 IP 地址
  • 已验证我可以找到(通过adb devices)并将(通过)部署react-native run-android到通过 USB 连接的真实设备
  • 尝试使用 and 强制 adb 连接adb connect 192.168.0.2:5555adb connect 192.168.0.2:5554收到以下错误:
    • unable to connect to 192.168.0.2:5555: cannot connect to 192.168.0.2:5555: No connection could be made because the target machine actively refused it. (10061)
    • 网上找不到解决办法

寻求帮助
如果有人知道可能发生的事情并可以提供一些解决问题的指导,我将不胜感激。如果您需要任何其他信息,只需询问,我会提供(有关如何收集信息的有用提示,如果不明显,也将不胜感激)。

非常感谢你读到这里 :)

4

1 回答 1

2

我遇到了类似的问题,就我而言,设置如下

版本

  • Windows 10 专业版1803 版(操作系统内部版本 17134.165)
  • 适用于 Android 的 Visual Studio 模拟器
  • 模拟器托管的操作系统 Marshmallow (6.0.0) (4.4) API Level 24 Emulated Device 5.7" screen XXDPI Phone "Similar to Samsung Galaxy note4"

在我的情况下,我还安装了 Android Studio,我认为它通过在我的用户文件夹下安装 SDK 导致了问题

C:\Users\[name with space]\AppData\Local\Android\Sdk

Visual Studio 还在程序文件中安装了 Sdk

C:\Program Files (x86)\Android\android-sdk

我决定在 c:\Android 中移动/安装 android-sdk 以避免出现问题

Android SDK 位置不应包含空格,因为这会导致 NDK 工具出现问题

解决方案

我必须做的是整合所有环境变量和注册表条目以指向正确的文件夹

这个 Stackoverflow 问题/答案将有助于设置注册表

Android 设备监视器中未列出“适用于 Android 的 Visual Studio 模拟器”设备

然后从 Visual Studio 中(工具 > Android > Android SDK 管理器)打开 SDK 管理器

打开 SDK 管理器

转到工具点击并确保“Android SDK Location”设置为C:\Android\Sdk并检查以下项目

Android SDK 管理器

然后在环境变量中确保调用了系统环境变量ANDROID_HOME,并且该值也应该是c:\android\sdk

就我而言,有一个ANDROID_HOME 用户环境覆盖了系统环境。要么摆脱它,要么将其更改为c:\android\sdk

更新所有这些注册表和环境变量后,关闭所有命令提示符窗口并打开一个新窗口(以正确设置环境变量)

然后通过运行以下命令检查 android home

C:\>echo %ANDROID_HOME%
c:\android\sdk

也回显%path%,它应该有一个指向的路径c:\android\sdk\platform-tools,没有其他路径然后运行adb --version并确保它运行为c:\android\

adb --版本

然后运行

adb kill-server
adb start-server

一旦你完成了 Visual Studio for Android 的午餐并运行你选择的图像。然后adb devices应该返回模拟器IP地址

额外资源

对于 Visual Studio for Android 的一般故障排除有一个很好的文档,您可以按照这些文档进行初始故障排除:

https://msdn.microsoft.com/en-us/library/mt228282.aspx

于 2018-07-13T00:37:53.600 回答