Microsoft 本周发布了 Visual Studio 2015 预览版, 里面包含 Android 开发工具. 安装的时候, 如果选 Android 开发, Visual Studio 会把调试 Android 应用程序用的 Visual Studio 模拟器也装上. 你也可以点这里查看视频介绍.
为了帮助我们把模拟器做的更好,请填下这个简短的问卷调查。
在介绍这个新模拟器之前, 我们先来聊一聊, 为什么需要一个新的 Android 模拟器 – 当然, 你也可以直接跳到自己感兴趣的部分去阅读 :-)
Android 模拟器存在的必要性
我们知道, 模拟器在 编程-编译-调试 开发周期中, 扮演着很重要的角色(甚至比物理设备还重要). 所以我们相信, 今天发布的这个模拟器, 在开发中是必不可少的.
有了优秀的模拟器, 不代表我们就不需要物理设备了. 反之亦然, 他们之间其实是互补的关系.
下列几种情况, 只能用物理设备测试, 模拟器派不上用场:
测试代码的性能. 虽然模拟器能帮你纠正代码中的错误, 但是它无法正确的给出, 代码在指定设备上的性能评估. 毕竟, 我们都希望测试的结果, 尽量接近用户实际使用的效果.
测试某些硬件问题. 比如, 你想测试下游戏的触摸灵敏度, 外放的音效, 或者调试 OEM 设备的 Bug , 这些测试只能在物理设备上进行.
评估真实的用户体验. 譬如, 你设计出来的人机交互界面, 适不适合用户边走路, 边单拇指操作?
除去上面列举的场景,大家应该都会很乐意使用模拟器。因为调试代码通常占用了80%的开发时间,而模拟器为我们大大提高了工作效率。(除非你的模拟器有其他阻塞性问题或者使用限制)。下面是使用模拟器的几个理由:
大部分的测试工作都是用来验证程序的正确性而非性能,并且大部分的代码都与底层硬件无关。所以是用模拟器是极好的。
购买一大堆硬件设备来测试是一件很奢侈的事情(特别是持续不断的购买新机)。大部分的硬件差异可以使用模拟器软件进行配置,比如说屏幕分辨率,不同屏幕的DPI,API级别/平台版本号等等。
使用物理动作来测试程序对传感器输入的反应也是很费劲的,比如说动作变化、地理位置变化或是网络/电池的变化。在这种场景下,选择模拟器来模拟传感器的输入就非常便捷高效,比如说模拟器可以模拟一段旅程中位置的变化,并测试应用程序对地理位置变化的响应。
使用模拟器还有一项而外的便利。管理多个物理连接的USB设备(一大堆连线和接口),是很麻烦的。此时使用模拟器就简单得多,模拟器就是一个运行在电脑上普通的应用层序,除去了物理连接的烦恼,非常便于管理。
所以说模拟器是软件的开发的好伴侣,我们希望把VS的模拟器打造成第一流的。我们从开发者那里收集到现有模拟器的痛点,在我们的版本上予以一一击破:
速度慢。这是从Android开发者那排名第一的抱怨。“这个模拟器速度慢极了,严重影响了我的生产率,我还不如用真机测试。”速度慢是不可接受的。使用模拟器应该比使用真机的运行速度更快才是,这样才能提高测试效率。记住一点,我们并不是在测试代码的运行性能,对功能测试来说就是要让模拟器尽可能地跑得快。
与Windows的Hyper-V冲突。很多模拟器在运行时要关闭Hyper-V,或是在使用Hyper-V时,性能反而更糟糕。但使能Hyper-V是大部分开发者的常见配置,频繁重启电脑来开关Hyper-V是不可接受的。
对那些要使用Windows Phone模拟器(基于Hyper-V)的开发者来说就更为苦恼。总不能为因为要测试跨平台的代码,不断的重启和配置电脑设置吧。
额外的购买和安装步骤。如果你已经在使用Visual Studio,那么恭喜你,你不许要再额外购买和安装一款其他的模拟器软件。
更多的费用开销。购买一款卓越的模拟器,也意味着更高的开销,这也是拒绝使用模拟器的一个主要原因。Visual Studio的Android模拟器是附赠的,不需要额外的费用。
简单来说,我们在Visual Studio的Andriod模拟器解决了以上痛点。废话不多说,下面开始给大家介绍使用VS的Android模拟器的调试方法,我们将从如何选择Android模拟器开始讲起。
用 Visual Studio 模拟器调试 Android 程序