设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客
LUPA开源社区 首页 业界资讯 技术文摘 查看内容

介绍Visual Studio的Android模拟器

2014-11-18 11:08| 发布者: joejoe0332| 查看: 4288| 评论: 0|原作者: BreakinBad, YiHunter, LeoXu, 几点人|来自: oschina

摘要: Microsoft 本周发布了 Visual Studio 2015 预览版, 里面包含 Android 开发工具. 安装的时候, 如果选 Android 开发, Visual Studio 会把调试 Android 应用程序用的 Visual Studio 模拟器也装上. 你也可以点这里查看 ...


照相机

  通常你可能会要使用应用里面的照相机(使用一个合适的API),而我们支持这个功能. 你也可以直接使用内置的照相机应用. 当你在模拟器里面启动照相机时,你将会看到一个固定的图像,你可以获取这个图像的快照,以模拟拍照.


音频播放,键盘文字输入…

  当然模拟器理所当然还会提供其它的一些功能,尽管他们需要来自产品团队的“努力” :-)。在这里我不会把所有的功能都列出来,单其中有两个值得注意:

  • 你可以在模拟器中使用你机器的键盘输入文本

  • 任何来自模拟器的音频播放都可以通过你机器的音响收听到


配置

  在预览版中,提供了2组默认配置:

  • 典型的Android手机配置:5吋屏幕,295 DDI,720x1280,1024MB

  • 典型的Android平板配置:7吋屏幕,315DPI,1080x1920,2048MB


  你可以在预览版中修改内存的分配,Hyper-V  Manager的配置窗口中提供了配置“Startup RAM”的选项。注意,你也可以修改每个配置中使用的CPU核心数(默认值是2)。不过,我们还没有对所有的可能配置进行测试。


clip_image020


  我们的工作才刚刚开始,在后面的版本中我们会提供更多的功能,同时也希望大家在下面的这个调查问卷中反馈意见,以便于我们对需求进行排序。


看看内部实现原理

  如果你对Visual Studio Android模拟器的实现原理感兴趣,我可以简单地回答这个问题,就是我们重用了其他产品的工作成果。在概念上,一个模拟器软件可以分为以下4个部分:

  1. 虚拟机(表示为一个vhd),用于模拟你使用的目标板,在这这里目标机就是Android。我们先从Android Open Source Project (AOSP)上获取到代码,并加以改进,将其配置为一个x86的虚拟镜像,这样就可以使用Visual Studio来进行快速的调试。

  2.  Shell/Chrome,提供了用户交互界面,可以用它来装载虚拟镜像并将其进行渲染显示出来。可以把这个过程和远程桌面做一下类比:其实你就是远程连接到一个本地镜像上。我们的工作就是从这里开始,直接借鉴了Windows Phone模拟器(我们内部称其为XDE)的shell/chrome。 然后根据Android的特殊需求,做了一些必要的修改。

  3. 虚拟化技术,XDE使用先虚拟化技术来装载镜像,这样才能进行远程连接和控制。Windows有深厚的虚拟化技术功底,我们正是使用了虚拟化技术Hyper-V来完成这项工作。

  4. 连接管道,VS和XDE需要通过连接管道来通信,同样的调试引擎和虚拟镜像也需要。这里我们重用了XDE与Visual Studio之间现有的连接机制,同时也使用了Android Debug Bridge (ADB) 。

  现在,再来看看目前这个应用的使用限制,我再次希望大家给我们反馈改进意见,我们会优先解决大家反馈的问题。


当前的使用限制

  今天给大家分享的是早期的预览版,这个版本中还有不少问题和Bug,我希望大家能把更多的问题反馈为我们。 同时这个版本还有不少已知的使用限制--大家赶紧把你们最想要的功能反馈给我们,我们会优先处理:

  • 直接或间接使用OpenGL 2以及以上版本的应用程序,模拟器目前无法渲染显示。这项功能不久就会支持,我们已经在内部版本中实现,用来会感觉非常流畅!

  • 市面上有太多不同的Android版本。我们目前只支持 KitKat API 19(android-4.4.4_r1)。后续会支持更多版本...

  • 如果你的APP使用了 Google Play Services 层,那么这些应用不能在模拟器上直接运行。这是因为我们构建的Android镜像没有包含GMS包(我们目前还没有获取到相关的许可证)。

  • 你需要在x86下重新编译你的代码。如果你的代码只能在ARM下运行,或者使用了不能在x86下运行的第三方库,那么目前你的代码是无法在我们的模拟器上运行的。

  • 你只能在支持Hyper-V的操作系统上安装我们的模拟器。不支持Hyper-V的操作系统有Windows 7和其他非Windows系统,或者是在其他的虚拟机上运行。

  如说上面所提的限制是你所急需的,目前的解决办法是使用真机来测试(或者另找一款更好的模拟器)。我们会在后面的版本中把上面的限制列表变短,所以请填写调查问卷来帮助我们进行优先级排序。


酷毙

雷人

鲜花

鸡蛋

漂亮
  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部