介绍Visual Studio的Android模拟器
微软发布了Visual Studio 2015预览这一周和你现在有选择为Android开发:c++,科尔多瓦,c# Xamarin的。 选择其中一个Android开发选项时,Visual Studio还将安装全新的Visual Studio Android模拟器调试应用程序的目标。你也可以 在这个视频在行动之中 。
帮助我们优先考虑增强模拟器,请 填写我们的调查 。
在我走之前你通过使用这个新的模拟器,让我们来谈谈为什么我们正在建设一个Android模拟器——随意跳过下一节去有趣的部分:-)
我们知道,模拟器可以发挥关键部分编辑-编译-调试周期(比设备更大的一部分),我们相信你需要一个模拟器就像我们今天发布。
有一个伟大的模拟器对并不意味着你不需要调试的设备,和拥有一个设备调试并不意味着你不会受益于良好的模拟器。 他们是互补的。
你肯定需要测试 一个设备 以下场景,适合任何模拟器:
对于所有其他测试,作为编辑-编译-调试周期的一部分通常需要至少80%的时间,你想使用一个模拟器(除非其他阻塞问题或限制你的模拟器的选择)。 使用一个模拟器,原因如下:
所以模拟器是伟大的,可以编辑-编译-调试周期中的一个关键部分,我们要确保我们的模拟器是一流。 你告诉我们什么 几个难点与现有模拟器 我们开始地址与我们发布:
简而言之,我们将处理所有这些痛点与Visual Studio Android模拟器。 现在,让我们回顾Visual Studio调试的故事为Android以及如何选择与Android模拟器。
与Visual Studio 2015预览你可以针对Android编程模型和编辑-编译-调试不管你的选择: JavaScript和科尔多瓦(或打印稿) , c++ ,或与Xamarin的c#。
与所有三个选择,当你开始调试,您必须先选择一个目标。 目标可以是一个设备或模拟器之一,你可能已经在你的机器上运行。 让我们看看如何选择一个调试目标科尔多瓦和c++在Visual Studio 2015中预览,以及Xamarin在Visual Studio 2015中。
与c++项目,调试目标菜单如下:
科尔多瓦的项目你想要选择的最后两项调试目标菜单按以下截图:
(绝对避免选择选项“Android模拟器”,是缓慢的SDK附带)
Xamarin的项目,选项如下:
Xamarin的项目的,等待最好的结果, 禁用/取消“使用快速部署” 在Android选项下Xamarin的项目属性。
注意:如果您想要使用的与从不同的IDE,Android模拟器作为临时解决方法你可以从Visual Studio 2015启动我们的模拟器使用上面的选项之一,然后关闭该项目,把模拟器运行和其他IDE可以目标(ADB)。
一旦你选择了你的调试目标和按F5,将应用程序部署到模拟器,按照常规VS调试流断点在您的代码中,可以看到调用堆栈,检查变量,等。现在,你知道如何使用仿真器进行调试,让我们继续探索它的冷却特性!
使用模拟器作为部署目标之外,您还可以利用传感器仿真和其他功能——让我们看看几人,排名不分先后。
你可以改变大小的模拟器当你看到它在开发计算机(主机)。 的每英寸点数(DPI)模拟器是基于主机监控DPI,无论放大值。 这允许您扩展仿真器,以防把太多的空间在你的桌面。
改变大小,使用模拟器的垂直工具栏上的“缩放”按钮。
您还可以使用“适合屏幕”按钮上方的“缩放”按钮以适应模拟器在你的屏幕上。
如果你需要截图的模拟器中运行的应用程序(例如 剪去的工具 )最好的结果记得设置缩放级别最高的100%,或者更好的是,使用我们的内置屏幕截图工具支持,我下面描述。
除非你的应用程序只支持一个固定的方向,你应该测试你的应用程序如何响应方向变化,和它看起来像在肖像,left-landscape,right-landscape取向。 简单的模拟器向左或向右旋转两个垂直工具栏上的相应按钮:“旋转”和“向右旋转”。 模拟器的大小保持不变,当你旋转。
模拟器重用主机的网络连接,所以没有为您配置。
你也可以检查模拟器目前的网络设置。 在垂直工具栏单击“工具”按钮显示“附加工具”飞出面板,然后单击“网络”选项卡。
如果你的应用程序做任何事和导航、geofencing步行/骑自行车/开车,那么你会喜欢的位置和驾驶仿真模拟器在“位置”选项卡下当你打开“额外的工具”。
通过拖拽,可以导航地图缩放/进出,甚至通过搜索位置。 您可以将和删除图钉在地图上,从而创造 地图上点 。 这些列表中显示为经度纬度坐标在左下角。 从顶部的工具栏你甚至可以拯救那些点映射到一个XML文件,后来从文件加载它们。
而不是每个地图点立即改变仿真器的GPS定位( “生活”模式 ),你也有其他的选择! 您可能想要将一些映射点,然后模拟之间的过渡点。 为此,在顶部的工具栏从“生活”模式 “销”模式 。 你可以按下播放按钮在工具栏小地图之间的过渡点。 您甚至可以输入一个过渡时间间隔(以秒为单位)。
最后,您可以选择第三种模式,类似于“销”,这被称为 “路线”模式 。 在这种模式下也可以模拟之间的转换分但一些额外的扭转。 模拟器将计算一个实际点,产生无形的点之间的路径点之间的间隔1秒。 总体速度将这些点是由第二个设置和选项:“行走”(5公里每小时),“骑自行车”(25公里/小时),“限速”(变量依赖于地图点),和“快速”。
如果你的应用程序跟踪和对运动的电话,你可以使用“加速器”标签测试当你打开“额外的工具”。
简单的点击并按住中间的红点,并将其拖动到你想要的方向来模拟,在3 d飞机。 当你这样做你的应用程序会接收运动事件如果它已经注册。
您还可以看到X,Y,Z值位于左下角。 在这些值可以“重置”到开始位置,并选择从这些价值观取向:开始肖像站,景观站、平坦的画像,景观持平。
最后你可以模拟手机震动通过单击“播放”按钮在右下角。 唯一的目测,摇头是发生的值X,Y,Z,当他们停止快速变化你就知道动摇了。
如果你写你的应用对电池充电的变化,那么你会喜欢模拟器模拟的能力,通过切换到“电池”选项卡当你打开“额外的工具”。
有一个滑块,允许您设置电池的电荷值。 注意当你滑下来/电池图标右上角的变化如何反映这一变化。 你的应用程序也可以相应的回应。
如果你改变电池充电状态不是“充电”,然后仿真器的屏幕超时时间后将一片空白。 您可以配置超时虽然内置的定期“设置”程序(寻找“睡眠”选项下的“显示”)。 如果模拟器由于这种睡觉,那么你可以叫醒它通过垂直工具栏上的“电源”按钮。
截图你的应用程序,打开“额外的工具”,切换到“截屏”选项。 然后点击“捕获”按钮,将截图,让你即时预览。 如果你想保持截图点击“保存…”按钮。 如果你不喜欢你的屏幕截图,忽视它或再次点击“获取”。
截图工具总是截图在100%(该决议在左下角),无论缩放设置。 他们也总是画像,无论旋转选择。
你安装在Android应用程序通过一个应用程序称为APK包文件。 如果你有一个的APK,你想安装在Visual Studio Android模拟器,刚从Windows资源管理器将它拖到模拟器。 在模拟器中您将看到一条消息,指示进步“文件传输进度…”紧随其后的是一个消息框“文件foo成功安装在Android”。 记住,以确保你的apk代码为x86建造!
您也可以拖拽其他模拟器(non-APK)文件,他们将被放置到SD卡,我们下一个话题。
如果你的应用需要读写SD卡的目标模拟器模拟,通过提供一个文件夹代表一个SD卡。
注意,Android的图像使用一个单独的VHD SD卡的支持。 所以,如果你想从SD卡/传输文件在您的开发机器上,您可以挂载VHD Windows:关闭模拟器(关闭虚拟机),然后导航到VHD位置在Windows资源管理器,并双击VHD山。 默认路径下的VHD位于:
C:\Users\ %用户名% \ AppData \当地\微软\ XDE \ \ vsemu.sdcard.vhd Android
此时,VHD安装作为额外开窗户,你可以使用它很像任何其他驱动器。 在重新启动模拟器必须卸载VHD之前,你可以通过右键点击驱动器并选择弹射出来。
在SD卡支持图像中还允许其他内置Android应用程序功能,如浏览器下载和相机应用程序——这让我到下一个功能。
通常你会使用相机从你的应用程序(使用一个适当的API),,我们支持。 你也可以直接使用内置摄像头应用程序。 当你在模拟器启动摄像头,你会看到一个固定的动画图像,你可以采取的快照,模拟拍一张照片。
还有其他功能,仿真器提供认为这是理所当然的,尽管它们需要“工作”从产品团队:-)。 我不会这里全部列出来但是他们两个是:
这个预览版你可以选择两个开箱即用的配置:
与预览部分如果你想改变数量的内存,你可以改变启动RAM从hyper - v管理器设置对话框中。 注意,你也可以改变内核的数量分配给每个配置预览(默认是2芯)。 警告:我们没有测试所有可能的配置,你可以选择!
我们是刚刚起步,有很多在后续的版本中,你可以帮助我们优先考虑采取新的传感器仿真和其他功能 我们的调查 。
如果你有兴趣我们如何建造了Visual Studio Android模拟器,简短的回答是,我们重用其他人的工作。 从概念上讲,一个模拟器由4部分组成:
现在让我们看看我们今天的一些限制,并希望你可以给我们输入哪些我们首先需要解决。
今天我们与你分享早期预览版,问题/缺陷,我们期待你的报告给我们。 我们也有 已知的限制 ——请告诉我们哪些是对你最重要所以我们可以优先考虑这些待办事项列表:
如果任何这些限制你正在开发一个应用程序的问题,那么解决方案是使用一个设备(或找到另一个仿真器,可能没有限制)。 我们将使当前的限制列表缩短每一次释放,我们扑灭,如此 请调查帮助我们优先考虑 。