我在升级到SDK 2.3的旧堆栈溢出线程上找到了一个临时解决方案-现在没有仿真器具有连接性。请注意,该线程仅讨论Android SDK 2.3,而不是Android Studio 2.3。问题似乎是模拟器无法找到我的计算机当前正在使用的DNS,临时解决方法是从命令行启动模拟器并指定DNS服务器。无论发生什么问题,都必须在最新版本的Android Studio中重新出现。
下面概述的临时解决方案解决了仿真器访问Internet的问题。但是,它不能解决尝试运行Android Device Monitor时发生的问题。这样做仍然会使仿真器如上所述脱机。
请注意,sdk中有两个名为“ emulator.exe”的文件-一个在sdk \ tools下,另一个在sdk \ emulator下。两种方法都可能在下面工作,但是我在sdk \ emulator下使用了一种。
第一步是找到SDK的位置。假设用户名为“ jdoe”,并且在Windows上默认安装了Android Studio,则该SDK最有可能位于
C:\Users\jdoe\AppData\Local\Android\sdk
第二步是确定要运行的AVD(仿真器)的名称。命令
C:\Users\jdoe\AppData\Local\Android\sdk\emulator\emulator.exe -list-avds
将显示您的AVD的名称。在我的计算机上,它仅显示一个Nexus_5X_API_25。
要使用指定的DNS服务器从命令行启动仿真器,请使用类似以下内容的代码:
C:\Users\jdoe\AppData\Local\Android\sdk\emulator\emulator.exe -avd Nexus_5X_API_25 -dns-server 8.8.8.8
在这种情况下,8.8.8.8是Google的公共域名服务器。
如果您创建适当的环境变量并编辑PATH环境变量,则可以缩短上述命令,但是我建议您谨慎行事。