Visual Studio Emulator for Android 折腾记

Posted 润之

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Visual Studio Emulator for Android 折腾记相关的知识,希望对你有一定的参考价值。

想用虚拟机调试android项目,于是想到了MS免费提供的 Visual Studio Emulator for Android,这玩意价格免费量又足,N久之前试用过,速度杠杠的!

安装包很小,不到40MB,很快就下载好了。由于以前玩过,知道这货依赖Hyper-V,于是先到系统功能中把Hyper-V装上,两次重启才完成。然后开始安装VSEMU,竟然安装不了,提示“The file or directory is corrupted and unreadable”,好像是安装包的问题。于是打开Chrome从MS官网又下载了一份,好在安装包不大,一会儿就下完了。再次安装,还是同样的错误!真崩溃!从回收站找出来上一个安装包,比对了一下两个文件,确认二进制相同,说明安装包没问题,应该是系统的问题!然后查安装日志,找到一处“MUX: ERROR: Could not load file or assembly ‘Microsoft.VisualStudio.Utilities.Internal.Net35 ... ‘”,感觉是这个问题,又往这个方向挖了半天,依然没有解决!此处略去1000字,反正是各种折腾,最后感觉可能还真是下载的文件是坏的,于是把文件URL复制到迅雷里下载一份安装试试,果然好的!安装一切顺利!这个时候我的心里一万匹草泥马在狂奔!不知道到底是移动宽带的问题,还是Chrome浏览器的问题,同样的URL居然下载到的文件是坏的!浪费我宝贵的时间!

装好之后打开、启动虚拟机,启动正常,没问题!打开浏览器,发现不能上网,于是关掉虚机,到网络适配管理中找到虚拟网卡,把IP地址改为本地LAN的分配地址,然后再启动虚拟机,完蛋!启动不了了!然后又开始各种折腾,怎么都不能启动了,老外网站上说找到这个文件“C:\Program Files (x86)\Microsoft XDE\10.0.10586.0\SKUs\Android\xdesku.xml”,删除这一行:GuestDisplayProvider="VsEmulator.OpenGLGuestDisplay",试了根本没效果,还尝试了很多其它的方案,基本都没用!最后才发现是网络设置的问题,有个老外的贴子说是配置了多个内网或多个外网虚拟路由的原因,但我没有配置,应该就是我修改IP地址的原因,于是到Hyper-V管理器中删除所有虚拟网卡、路由和VSEMU的虚拟机,然后在VSEMU里再次启动虚机,它自动创建了相应的虚拟网卡,虚机也启动成功!后来发现只要添加一个External的虚拟网卡,然后Hyper-V的虚机设置里选择这个网卡,虚机就能正常上网了!

接下来开始折腾hosts的问题,由于本机调试的项目是通过hosts中配置的伪域名访问的,也要修改虚机的hosts,看网上的方法说可以通过如下方法修改:

adb remount
adb pull /system/etc/hosts
vi hosts # 修改好对应内容
adb push hosts /system/etc

有点小激动,结果第一步adb devices 就没有找到虚机,很郁闷。于是继续上网搜索相关解决方案,发现需要配置Android SDK Tools:

HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Android SDK Tools
Path="C:\\Program Files\\android-sdk" (目录中要有platform-tools,试了一下tools和platforms好像都不需要)


这样在启动vsemu之后就能 adb devices 列出设备了,也能 adb操作了。

 


附1:

Android SDK Tools 下载地址 https://developer.android.com/studio/index.html
最下面:仅获取命令行工具
点击下载 sdk-tools-windows-3859397.zip

Android SDK Platform-Tools 下载地址(也可以通过上面下载的 SDK Tools 下载 Platform-Tools)
https://developer.android.com/studio/releases/platform-tools.html
点击下载 SDK Platform-Tools for Windows


注:这两个都可以通过使用迅雷实现高速下载,官方地址直接下载太慢了!

 

附2:

Android SDK Manager 代理设置
(最新版本的SDK Manager 好像已经没有GUI界面了,只能命令行操作,只有又大又笨的 Android Studio 里带GUI管理工具)
Tools => Options... => Android SDK Manager - Settings
HTTP Proxy Server 设为 mirrors.neusoft.edu.cn
HTTP Proxy Port 设为 80
勾选“Force https://... sources to be fetched using http://...”,然后返回主界面,选择Packages => Reload 即可。

 

以上是关于Visual Studio Emulator for Android 折腾记的主要内容,如果未能解决你的问题,请参考以下文章

Visual Studio Emulator for Android 的安装与使用 感觉最干净好看的模拟器.

Visual Studio Emulator for Android 折腾记

Visual Studio Android Emulator 不会运行应用程序

脱离 Visual Studio 启动 VS 所支持的各种模拟器(WindowsPhone Emulator & Hololens Emulator)

could not connect to the debugger --Visual Studio Emulator报错解决方法

如何为“Visual Studio emulator for android”的模拟器安装证书?