Android has made bounds as leaps ever since Goggle decided to go with Google phone. We all were waiting for coming of the Google phone but at last it turned out to be the Android, together with OHA, Open Handset Alliance.
Then came the T-Mobile G1 and for various reasons and other, people rushed to get one. I did not because of some mouth off about no VoIP by a big honcho at T-Mobile. I have been playing and porting my gPhone application(s) with the Android Emulator, which is this article is about.
But winds have changed and the Android developer device, a hardware unlocked G1 is available to android developers. Yes, I am Getting one. But the price might hit some good developers in far away lands. So get the Android emulator. I have already finished one vertical market and private application that runs on Android, without ever touching the T-Mobile G1.
To give a brief explanation about the Android Emulator, (because I an sending you off to the emulator site soon to get all the information you need), it is a QEMU-based application that provides a virtual ARM mobile device on which you can run your Android applications. It provides a full Android system stack, down to the kernel level, and includes a set of pre-installed applications (such as the dialer) that you can access from your applications. It provides a skinnable mobile device UI, customizable key mappings, and a variety of commands and options for controlling the behaviors of the emulated environment.
The Android system image distributed in the SDK contains ARM machine code for the Android Linux kernel, the native libraries, the Dalvik VM, and the various Android package files (such as for for the Android framework and preinstalled applications). The emulator's QEMU layers provide dynamic binary translation of the ARM machine code to the OS and processor architecture of your development machine.
Adding custom capabilities to the underlying QEMU services, the Android emulator supports many hardware features likely to be found on mobile devices, including:
- An ARMv5 CPU and the corresponding memory-management unit (MMU)
- A 16-bit LCD display
- One or more keyboards (a Qwerty-based keyboard and associated Dpad/Phone buttons)
- A sound chip with output and input capabilities
- Flash memory partitions (emulated through disk image files on the development machine)
- A GSM modem, including a simulated SIM Card