app测试模拟器和真机区别

转载1:

平时测试过程中,经常有组内同学们问,使用模拟器测试完之后,是否可以代替真机的兼容测试了。

先来看看模拟器和真机的直观区别:

多点触摸(比如两个手指放大文本字体大小)

网络通话(没有真实的呼入和呼出)

摄像(无法调起摄像)

USB连接

WiFi

各种网络制式

蓝牙

音频输入/捕捉

另外:

Android具有的一些特点

Android模拟器用的是原生标准的Android系统。市面上的真机定制化非常多,比如国内小米的MIUI,魅族的Flyme等等,而模拟器都是Android的原生系统,即相当于市面上的Nexus和Pixel手机的系统,因此国内使用原生Android系统手机的用户非常少见

Android模拟器上安装的apk签名是debug模式的。发布应用到市场上要使用开发者正式的签名。

Android模拟器上用px像素可以正常显示,真机上必须用dpi让系统自动识别才能达到预期效果。所以真机上有可能布局变得面目全非,和模拟器上不一致。

Android模拟器不能确定电池电量水平和充电状态。

Android模拟器不能确定SD卡的插入/弹出。

Android模拟器都是模拟的硬件。所以在硬件上基本不会出现兼容性问题,但是市场上的真机大多数都是采用不同的cpu,不同的显示屏等。

Android模拟器不会被刷机,但真实的Android设备会存在刷机。

模拟器上发布程序后会自己启动程序弹出界面,真机上通过电脑安装后则不会弹出来。

Android模拟器不支持呼叫和接听实际来电。只能通过控制台模拟电话呼入和呼出。

iOS具有的一些特点

iOS模拟器和真机的分辨率不同。故和真机的显示效果不一样。

iOS模拟器没有硬件限制。比如内存,所以会有应用出现在模拟器上很快,真机很慢的情况,原因是真机的内存被用完了

模拟器不会被越狱,真机会被越狱,越狱后的真机会有兼容性问题

iOS有些framework只支持模拟器,不支持真机。

综合来讲,模拟器只是实现了真机的大部分功能,但绝对不能代替真机测试,任何应用在上线前都应该在实体机上进行验收测试。尤其是只有真机才能反应出最真实的性能测试情况,有没有发热,有没有司机,耗电量消耗等等。另外模拟器的性能和调试效率,相比真机,肯定会低很多

另外,现在的模拟器,功能已经非常强大了,从蓝牙,传感器等配件到IMEI、MAC,手机硬件信息等等。

转载2:

虽说android模拟器做得很完善几乎跟真机一样,但本人实际开发发现还是有不少不一样的,没有一个真机测试还真难保证自己的应该能够在真机上顺畅跑起来。

列举下我遇到的不同之处:

1.模拟器上安装的apk签名是debug模式的,发布应用到市场上要用另外的签名。

2.模拟器上用px像素可以正常显示,但在真机上有可能布局变得面目全非,很难看,真机上必须用dip让系统自动识别才能达到预期效果。

3.模拟器上空格用\t可以正常显示,但到真机(ME525+)上就不起作用了。

4.模拟器调用邮件服务报错,到真机上会弹出选择。还有其他一些功能也是如此。

5.模拟器上创建快捷方式的提示和真机的差别比较大,模拟器上提示有部分英文的,真机上全中文的,而且有连续几个不同内容的提示。

6.模拟器上看到的输入框效果比较大,真机上看明显小了很多。

7.模拟器上(2.3.3版本的)输入框、单选框等焦点状态时边框是黄色的,但真机上是蓝色的。 

8.模拟器上发布程序后会自己启动程序弹出界面,真机上通过电脑安装后则不会弹出来。

9.模拟器不能震动,真机上才看有效果。

10.模拟器可以直接连接本地电脑局域网ip,真机不行。 

11.模拟器可以模拟发送短信 拨打电话 gps定位功能,用真机需要两台手机才能用,不能通过模拟器和一台真机实现,而且真机不能通过模拟端口实现(需要真实拨打电话和发送短信)

12.模拟器无法调试蓝牙硬件设备相关的接口,必须要真机才能跑

13.模拟器无法测试多点触摸(比如两个手指放大文本字体大小)的功能

转载3:

 首先说一个CPU的区别,这个也是我偶然之间看到的,Android模拟器的cup架构是基于X86架构下的,所以有些程序需要用到.os文件的支持就会出问题,而Android真机的cup架构是基于arm的。

Android虚拟机用来模拟Android系统是没有问题,但是涉及到硬件、底层相关的native代码的时候就需要使用真机来测试了。

下面简单列举一些判断当前程序使用的设备是模拟器还是真机的方法:

native层:

真机下都有mmcblk0分区,但是模拟器没有分区信息;

真机可以获取wlan0的ip和mac地址,模拟器只能获取eth0的ip和mac地址;

模拟器没有ro.boot.serialno和ro.serialno属性,真机中为机器序列号;

模拟器 ro.hardware属性为goldfish,真机为各自的型号;

模拟器中cpuinfo的硬件为Goldfish;

模拟器中包含goldfish的驱动

模拟器专有的文件,真机中没有

java层:

IMEI和IMSI;

Serial序列号;

Mac地址;

发布了17 篇原创文章 · 获赞 1 · 访问量 818

猜你喜欢

转载自blog.csdn.net/weixin_45433031/article/details/105316471
今日推荐