App test simulator and real machine difference

Reprint 1:

During the usual testing process, students in the group often asked whether they could replace the compatibility test of the real machine after the test with the simulator.

First look at the intuitive difference between the simulator and the real machine:

Multi-touch (such as two fingers to enlarge the text font size)

Internet calls (no real incoming and outgoing calls)

Camera (cannot bring up the camera)

USB connection

WiFi

Various network standards

Bluetooth

Audio input / capture

In addition:

Some characteristics of Android

The Android emulator uses the native standard Android system. There are many customizations of real devices on the market, such as the domestic MIUI of Xiaomi, Flyme of Meizu, etc., and the emulators are the native systems of Android, that is, the systems equivalent to Nexus and Pixel phones on the market, so the domestic Android Users of system phones are very rare

The apk signature installed on the Android emulator is in debug mode. The official signature of the developer must be used to publish the application to the market.

It can be displayed normally in px pixels on the Android emulator, and the dpi must be used on the real device to let the system automatically recognize it to achieve the desired effect. Therefore, the layout on the real machine may become unrecognizable and inconsistent with the simulator.

The Android emulator cannot determine the battery level and state of charge.

The Android emulator cannot determine the insertion / ejection of the SD card.

Android emulators are all simulated hardware. So there is basically no compatibility issue on the hardware, but most of the real machines on the market use different CPUs and different display screens.

The Android emulator will not be flashed, but the real Android device will be flashed.

After the program is released on the emulator, it will start the program pop-up interface by itself, but it will not pop up after installing on the real machine through the computer.

The Android emulator does not support calling and receiving actual calls. You can only simulate incoming and outgoing calls through the console.

Some features of iOS

The resolution of the iOS simulator and the real device are different. Therefore, the display effect is different from that of the real device.

The iOS simulator has no hardware restrictions. Such as memory, so there will be applications appearing on the emulator quickly, and the real machine is very slow, because the real machine's memory is used up

The emulator will not be jailbroken, the real chance will be jailbroken, the real chance after the jailbreak has compatibility issues

Some frameworks in iOS only support simulators, not real devices.

In general, the simulator only implements most of the functions of the real machine, but it can never replace the real machine test. Any application should be tested on the physical machine before going online. Especially only the real machine can reflect the most real performance test situation, whether there is fever, whether there is a driver, power consumption and so on. In addition, the performance and debugging efficiency of the simulator will be much lower than that of the real machine.

In addition, the simulator now has very powerful functions, from Bluetooth, sensors and other accessories to IMEI, MAC, mobile phone hardware information and so on.

Reprint 2:

Although the android emulator is very well done, it is almost the same as the real machine, but I actually found that there are many differences in the actual development. Without a real machine test, it is really difficult to ensure that you should be able to run smoothly on the real machine.

List the differences I encountered:

1. The apk signature installed on the simulator is in debug mode, and another signature is required to publish the application to the market.

2. The px pixels on the emulator can be displayed normally, but on the real machine, the layout may become unrecognizable and difficult to see. On the real machine, the dip must be used to let the system automatically recognize it to achieve the desired effect.

3. The space on the emulator can be displayed normally with \ t, but it will not work on the real machine (ME525 +).

4. The simulator calls the mail service to report an error, and a selection will pop up on the real machine. There are other functions as well.

5. The prompt for creating shortcuts on the emulator is quite different from the real machine. Some of the prompts on the emulator are in English, full Chinese on the real machine, and there are several prompts for different contents in a row.

6. The input box effect seen on the simulator is relatively large, and it is obviously much smaller on the real machine.

7. The input box, radio box, etc. on the emulator (version 2.3.3) are in focus when the frame is yellow, but the real machine is blue. 

8. After the program is released on the emulator, it will start the program pop-up interface by itself, but it will not pop up after installing on the real machine through the computer.

9. The simulator cannot vibrate, and the effect is seen on the real machine.

10. The simulator can be directly connected to the local computer LAN IP, but the real machine can't. 

11. The simulator can simulate the GPS positioning function of sending SMS to make a call. You need two mobile phones to use the real machine. It cannot be realized by the simulator and a real machine, and the real machine cannot be realized by the analog port (requires real dialing and sending SMS)

12. The emulator cannot debug the interface related to the Bluetooth hardware device, it must be a real machine to run

13. The simulator cannot test the function of multi-touch (such as two fingers to enlarge the text font size)

Reprint 3:

 Let me talk about the difference between a CPU first. This is what I accidentally saw. The cup architecture of the Android emulator is based on the X86 architecture, so some programs need to use the support of the .os file and there will be problems, and the Android real machine The cup architecture is based on arm.

The Android virtual machine is used to simulate the Android system is no problem, but when it comes to hardware, the underlying native code, you need to use a real machine to test.

The following briefly lists some methods to determine whether the device used by the current program is an emulator or a real machine:

native layer:

There are mmcblk0 partitions under the real machine, but the simulator has no partition information;

The real machine can obtain the ip and mac addresses of wlan0, and the simulator can only obtain the ip and mac addresses of eth0;

The emulator does not have ro.boot.serialno and ro.serialno attributes, the real machine is the machine serial number;

The em.ro.hardware attribute is goldfish, and the real machine is its own model;

The hardware of cpuinfo in the simulator is Goldfish;

Goldfish driver included in the emulator

Emulator-specific files, not in the real machine

java layer:

IMEI and IMSI;

Serial serial number;

Mac address

 

Published 17 original articles · Like1 · Visits 818

Guess you like

Origin blog.csdn.net/weixin_45433031/article/details/105316471