Android模拟器与真实设备

开发者应该注意哪些差异?

我知道这些限制:

  1. 预装软件。 真实设备可以预装比仿真器更多的应用程序。
  2. 您不能在模拟器中使用“捕获”照片/videofunction。

根据仿真器文档 ,其局限性是:

仿真器的function限制包括:

  • 不支持拨打或接听实际的电话。 但是,您可以通过模拟器控制台模拟电话(放置和接收)。

  • 不支持USB连接

  • 不支持设备连接的耳机
  • 不支持确定networking连接状态
  • 不支持确定电池电量和交stream充电状态
  • 不支持确定SD卡插入/popup
  • 不支持蓝牙

国际海事组织可以使用模拟器来简化用户界面的开发,在“设备屏幕”上查看用户界面,确保应用程序布局正常,应用程序可以运行,可以通过模拟GPS位置,networking速度或消息等来testing一些特殊情况。 但是在真实设备上testing是必须的。

1.5 SDK存在以下限制(从SDK网站 ):

  • 不支持拨打或接听实际的电话。 但是,您可以通过模拟器控制台模拟拨打和接听的电话。
  • 不支持USB连接
  • 不支持相机/video捕捉(input)。
  • 不支持设备连接的耳机
  • 不支持确定连接状态
  • 不支持确定电池电量和交stream充电状态
  • 不支持确定SD卡插入/删除
  • 不支持蓝牙
  • 不支持多点触控

根据经验,我发现在实际开发中存在以下差异:

  • 有一些bug可以在模拟器中忽略,从而导致设备崩溃(例如,不closures游标)
  • 您与设备的交互方式与模拟器不同。 我用真实的设备比使用模拟器更多地使用横向模式。
  • 有一个不同的CPU。 在你的模拟器上快速的东西在真实设备上会变慢。
  • 你可以用这个设备来吃狗粮。 用模拟器狗食是困难的。

如果你需要真正的设备testing人员, 这里有一个谷歌组。

我们不能用仿真器来testing触摸事件,只能通过在仿真器上点击鼠标来进行testing,而任何开发者都将基于触摸屏开发应用程序。

我想说的主要是有几个“真正的设备”目前正在使用Android,将会有更多,不同的硬件禀赋 – 有些将有GPS和一些不会,同样是触摸屏,真正的键盘相反虚拟屏幕显示,摄像头分辨率等

虽然操作系统将为您做很多繁重的工作,但您仍然希望确保您的devise具有您所希望支持的所有Android设备上的合理用户体验,尽pipe其硬件function存在差异 – 从这个意义上讲,为Androiddevise应用程序与为Linux,Windows或Web(针对各种硬件configuration细节)devise应用程序更为类似,而不是像Mac或iPhone(您需要考虑更窄的集合可能的硬件configuration)。

模拟器是(或试图成为;-)“一个”Android设备 – 但会有其他(“真实的”; – )与不同的屏幕分辨率,input外围设备等,等等…

关于谷歌帐户的一个评论:Android 2.2的谷歌API版本8,您可以在设备上添加一个谷歌帐户。 但是,它只会允许validation谷歌API(例如谷歌文档)的testing,但不能同步联系人等

这是一个错误,因为相机和video支持被尝试(错误地):相机和video意图在“捕获”之后不会将其输出存储在MediaStore数据库中。

简单来说,仿真器是一个在电脑屏幕上运行的设备,而真正的设备则是您可以容纳的。 使用时可能会有一些差异,例如不能使用em。 我已经写了一个关于这个你可能会考虑阅读的详细的post 。