想用虚拟机调试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 折腾记的更多相关文章

  1. Visual Studio Emulator for Android 初体验

    Visual Studio Emulator for Android已经推出一段时间了,但一直没有用过.前两天下载安装用了下,整体感觉比谷歌自带的模拟器强多了.Visual Studio Emulat ...

  2. [Android] Visual Studio Emulator For Android 相关

    1.修改设备名 C:\Users\[用户名]\AppData\Local\Microsoft\VisualStudioEmulator\Android\Containers\Local\Devices ...

  3. 2.[WP Developer体验Andriod开发]Andriod Studio结合Visual Studio Emulator for Android调试Android App

    0. 工欲善其事必先利其器 上一篇博客对比了一下Android和WinPhnoe的布局容器,后续篇章重点放在Android的开发上了. 说到开发就绕不开调试程序,调试Android App我们有2种选 ...

  4. Win10安卓模拟器Visual Studio Emulator for Android使用简介(转)

    Visual Studio Emulator for Android是微软官方发布的独立版本的安卓模拟器,这款软件可以让安卓应用开发者更加轻松的用Visual Studio编写Android应用,据说 ...

  5. Adb connect监听指定的主机和端口/Adb监听Visual Studio Emulator for Android模拟器

    语法: adb connect <host>[:<port>] 使用实例: adb connect //如果连接成功则返回 connected to 说明 在使用Visual ...

  6. 2.[Andriod]Andriod Studio结合Visual Studio Emulator for Android调试Android App

    0. 工欲善其事必先利其器 上一篇博客对比了一下Android和WinPhnoe的布局容器,后续篇章重点放在Android的开发上了. 说到开发就绕不开调试程序,调试Android App我们有2种选 ...

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

    Step1 win8+ 6G+ 添加删除程序\ hyper  创建虚拟机 安装visual studio android 模拟器, 自带三个模拟器 使用管理员打开模拟器 参考文献 Visual Stu ...

  8. VS2015 使用 Visual Studio Emulator For Android 调试无法命中断点的解决办法?

    源解决方案是英文版的,地址:https://dzone.com/articles/fix-for-could-not-connect-to-the-debugger-while-de 问题现象: 1. ...

  9. Visual Studio Emulator for Android 里面的安卓模拟器如何启用

    打开软件

随机推荐

  1. C#获取农历的日期(转)

    //C# 获取农历日期 ///<summary> /// 实例化一个 ChineseLunisolarCalendar ///</summary> private static ...

  2. phpStudy-在使用phpMyAdmin报404Error

    今天刚刚知道什么是phpStudy和phpMyAdmin,感觉还可以吧.熬到凌晨两点多就为看这点东西.结果不知道怎么回事,当我在网上转一圈回来后发现自己的数据管理器竟然进不进去了! 神马情况啊?我的解 ...

  3. Uva 10375 选择与除法 唯一分解定理

    题目链接:https://vjudge.net/contest/156903#problem/E 题意:已知 求:C(p,q)/C(r,s) 其中p,q,r,s都是10^4,硬算是肯定超数据类型的. ...

  4. ssd论文解读

    https://www.sohu.com/a/168738025_717210 https://www.cnblogs.com/lillylin/p/6207292.html https://blog ...

  5. Intel MKL 多线程设置

    对于多核程序,多线程对于程序的性能至关重要. 下面,我们将对Intel MKL 有关多线程方面的设置做一些介绍: 我们提到MKL 支持多线程,它包括的两个概念:1>MKL 是线程安全的: MKL ...

  6. e.preventdefault() 别滥用

    有的时候我们会为事件回调函数添加一个参数(通常是e),并在函数中加入e.preventdefault():以取消默认行为.由于习惯,我顺手将它写到了一个checkbox的change事件中.由于不同的 ...

  7. AMD、CMD、CommonJs和ES6对比

    一.AMD(异步模块定义) AMD(异步模块定义)是RequireJS在推广过程中对模块定义的规范化产出.AMD是一个概念,RequireJs是对这个概念的实现.比如javascript语言是对ECM ...

  8. WebAppBuilder独立于Portal之arcgis for js应用框架研究

    1.前言 最近在做项目过程中,用到了WAB,先做一下总结和归类.Webappbuilder(简称WAB)是运行在portal或者online的一款webGIS开发应用程序,其代码开源并且具有优秀的设计 ...

  9. LeetCode111. Minimum Depth of Binary Tree

    题目 给定一个二叉树,找出其最小深度. 最小深度是从根节点到最近叶子节点的最短路径上的节点数量. 说明: 叶子节点是指没有子节点的节点. 示例: 给定二叉树 [3,9,20,null,null,15, ...

  10. cncert阅读报告

    信息安全阅读报告 Problem 1: 国家计算机网络应急技术处理协调中心(简称“国家互联网应急中心”,英文缩写为“CNCERT”或“CNCERT/CC”)作为我国非政府层面网络安全应急体系核心技术协 ...