0. 工欲善其事必先利其器

上一篇博客对比了一下Android和WinPhnoe的布局容器,后续篇章重点放在Android的开发上了。

说到开发就绕不开调试程序,调试Android App我们有2种选择,真机调试和模拟器调试:真机调试相对简单,就不做介绍了,还有一方面原因是由于安卓手机一旦插到电脑上,开始ADB调试后,各种的流氓软件净是往手机上装垃圾应用,妈蛋的;随后就试了几次Android Studio的模拟器之后,无限感慨,真尼玛的卡,卡,卡,,,是可忍孰不可忍.....

前些日子留意到微软发布了一款Android模拟器,随尝试一下,如是就有了这篇博文。

0. Visual Studio Emulator for Android

不得不佩服微软,模拟器做的竟然比Google自家做的要好,流畅多了,但是需要hyper-v的支持,怎么开启hyper-v这里就不做介绍了,度娘会给你一堆教程的。

Visual Studio Emulator for Android官方介绍页面

配置Android Studio的官方博客(本博客大部分参考资料来源于此)。

Visual Studio Emulator for Android下载地址。

下载完后是一个40M左右的vs_emulatorsetup.exe文件,不包含安卓模拟器的镜像文件,安装的时候会默认在线下载API 19(Andorid 4.4)的x86镜像,后续你也可以单独再下载其他的API xx版本,另外说明一下,Visual Studio Emulator for Android是不依赖Visual Studio的,也就是说可以单独安装使用,Android Studio是使用adb作为桥梁来连接Visual Studio Emulator for Android。

安装步骤我就不列出来了,记得安装后重启(它需要把自己加入Hyper-V Administrators的管理员组里面)。

安装重启后打开Visual Studio Emulator for Android,如下所示:

如果你启动了模拟器,则会在Hyper-V里面自动创建出对应的x86的Android虚拟机来,笔者的如下:

2. 设置Andorid Studio使其可以使用这些模拟器

打开Android Studio>Run>Edit Configurations>Defaults / Android Application / General 选项卡的Target Device节点,勾选Show chooser dialogUse same device for future launches 记得不要忘记点Apply和OK。如下图:

3. 为Android Studio添加启动模拟器的快捷按钮

虽然在Visual Studio Emulator for Android的管理器窗口中可以启动模拟器,但是每次都要到这里面去打开还是比较繁琐的,故而我们为Android Studio添加一个启动Visual Studio  Emulator for Android的快捷按钮。

3.1 配置External Tool(VS Emulator (4.4 API 19)

打开File > Settings > External Tools>Add

  1. Name:随便写,方便你认出来就好,笔者的是VS Emulator (4.4 API 19)
  2. Program:填写Visual Studio Emulator for Android安装目录下的emulatoecmd.exe的绝对路径,就是用它来启动模拟器的。笔者的是C:\Program Files (x86)\Microsoft Emulator Manager\1.0\emulatorcmd.exe
  3. Parameters:添加启动模拟器的参数,/sku:Android是说明打开Android的模拟器,/id:后面的Guid是模拟器的唯一编号,总的意思是指定要启动哪一个Android模拟器。id可以通过emulatorcmd.exe /sku:Android list /type:device获得,如下:
  4. Working Directory:指定工作目录,应该是可以随便填写的。笔者的是$ProjectFileDir$。

3.2 添加按钮(VS Emulator (4.4 API 19))到Toolbar

在toolbar空白处点击右键,选择Customize Menus and Toolbars。然后导航到Main Toolbar > Add After >在弹出的面板中找到External tool > VS Emulator (4.4 API 19) 然后按OK如下:

然后点击我们新添加的按钮了,就可以启动Android模拟器了:

4. 为Android Studio添加Connect模拟器的快捷按钮

第三节的按钮只是启动了模拟器,但是Andorid Studio还无法连接到模拟器,这里就要使用adb命令来连接到刚才启动的模拟器上。

4.1 配置External Tools(adb Connect (VS Emulator)

同样是添加一个快捷按钮,步骤和第三部一样,只是参数不同,这里我就只把参数列出来了:

  1. Name:随便写,方便你认出来就好,笔者的是adb Connect (VS Emulator)
  2. Program:填写adb.exe的绝对路径,笔者的是D:\_android\sdk\platform-tools\adb.exe
  3. Parameters:添加adb.exe的参数,connect ip:5555;笔者的是192.168.2.233:5555。ip可以通过打开模拟器在wifi中查看,也可以在模拟器的设置中network中查看
     
  4. Working Directory:指定工作目录,应该是可以随便填写的。笔者的是$ProjectFileDir$。

4.2 添加按钮(adb Connect (VS Emulator))到Toolbar

步骤和3.2一样的,这里就不再解释了。贴个图吧:

5. 用Visual Studio Emulator for Android调试Android App

按下Run按钮(绿色箭头那个...),弹出选择Android设备的选择框:

OK啦,大功告成:

6. 进一步完善

每次调试前都要点一下启动模拟器的按钮,等模拟器启动然后再点击contect模拟器的按钮,然后才能点run调试,,,好繁琐。

我们来配置一下run之前要执行的命令,让run按钮把这三件事都做了!

打开Run > Edit Configurations > Defaults / Android Application / Emulator 选项卡的BeforeLaunch节点,把我们刚才创建的两个External Tool添加到此处记得不要忘记点Apply和OK,顺序如下:

这样我们以后调试就不用点3个按钮了,一个run全搞定,,,

but,,,我发现这个加进去后重启Andorid Studio后就消失了,,,有木有知道怎么解决的小伙伴,给支支招。

最新文章

  1. arcgis api for js入门开发系列六地图分屏对比(含源代码)
  2. Azure china服务状态报告查看网址
  3. 数组拷贝 copyOf()
  4. 夺命雷公狗---DEDECMS----28dedecms浏览次数的完成
  5. PAT乙级真题1016.部分A+B(15)(2016-4-28)
  6. Expat Parser解析xml文件
  7. WordPress程序流程分析
  8. Binary Tree Paths leetcode
  9. 有限等距性质RIP
  10. 《剑指Offer》第1题(Java实现):在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
  11. centos 6 与 centos 7 服务开机启动、关闭设置的方法
  12. 转载-YARN的内存和CPU配置
  13. 消息中间件MQ详解及四大MQ比较
  14. 第78讲:Type与Class实战详解
  15. (转)YV12,I420,YUV420P的区别
  16. css后台页面布局技巧
  17. [Javascript] Funciton Expression
  18. Linux调度器 - deadline调度器
  19. Codeforces Round #397 by Kaspersky Lab and Barcelona Bootcamp (Div. 1 + Div. 2 combined) D. Artsem and Saunders
  20. nginx.conf解读

热门文章

  1. spring security使用自定义登录界面后,不能返回到之前的请求界面的问题
  2. 我们知道CDN护航了双11十年,却不知道背后有那么多故事……
  3. 监控mysql
  4. Zuul上实现限流(spring-cloud-zuul-ratelimit)
  5. Perl IO:操作系统层次的IO
  6. 内核中 xxx_initcall 的调用过程分析
  7. Asp.Net Core中使用MongoDB的入门教程,控制台程序使用 MongoDB
  8. dogse入门指南
  9. TensorFlow与Flask结合识别手写体数字
  10. Jquery 使用和Jquery选择器