This page provides a high-level overview of Android
1.0 features. For a list of all the projects that make up the Android
1.0 source code, see Project layout. To see the code itself, you can either use the GitWeb interface to view snapshots of the files, or you can download the source code onto your local machine.
Applications
The Android platform comes with a variety of applications written using the Java programming language: - Home displays applications, widgets, and shortcuts. It also supports customizable wall paper.
- Phone supports regular telephony functions as well as call
controls, conference calls, supplementary services, and easy
integration with Contacts.
- Web Browser is a fully featured WebKit-based browser that supports HTML and XHTML.
- Email provides access to email servers commonly found on the Internet and supports POP3, IMAP4, and SMTP.
- Media Player enables managing, importing, and playing back content that has been encoded in various forms.
- Alarm Clock, Calculator, Calendar, Camera, Contacts, IM, MMS, Settings, Voice Dialer, and many other applications are also included in this release.
Application framework
The Android Application Framework has been designed to
provide a rich set of APIs for third-party application developers. For
more information, visit the Android SDK developer guide.
Android runtime
Android applications run on Dalvik, a custom virtual machine (VM) designed for
embedded use. The Dalvik VM runs dex executable files, which are typically compiled from source code written in Java.
The dex executable format is designed to have these characteristics: - Efficient on-device storage.
- Efficient runtime memory usage.
- Ease of interpretation.
Dalvik has the following runtime characteristics: - Efficient support for multiple concurrent VM processes, including amortized initialization and heavily shared memory.
- Optimized interpreter.
- Efficient linkage to low-level native code.
- A familiar and rich set of core library functionality. For a complete list of supported libraries, see http://developer.android.com/reference/packages.html.
- Enhanced JDWP support, enabling easier debugging of multiple processes simultaneously.
- JNI support.
Native libraries
The Android platform makes use of many native libraries, including:
- Bionic, a custom libc implementation optimized for embedded systems.
- Graphics libraries for 2D and 3D (OpenGL ES 1.0) graphics support.
- openCore to provide the bulk of Android's multimedia capability. It includes support for network streaming (HTTP and
RTSP), as well as most of the codecs and media file parsers used by the
system.
- sqlite to support having a lightweight transactional data store.
- WebKit library to power Android's WebKit based full web browser.
System software
About Android's operating system: - Based on Linux 2.6.25 for ARM.
- Platform currently expects ARM V5T or better architecture. Support for
earlier architectures could be added, but CPUs without an MMU would be
difficult to support.
- A
set of kernel enhancements are provided to support Android. The patches
include alarm, ashmem, binder, power management, low memory killer,
kernel degugger, and logger.
- While the platform is
designed to be chipset agnostic, and will run on virtually any
ARM-based Linux kernel environment, version 1.0 of the platform has
been tested and verified on the MSM 7K chipsets. Over time we expect to see support for other major chipsets. Kernel patches for MSM based chipsets are also available.
- FAT32 file system is supported.
- Support for TCP/IP (TCP, UDP, etc).
A
minimal reference bootloader for the supported chipset is provided. It
is capable of booting Linux from RAM, debugger, and NAND Flash.
About Android's support for debugging: - Debugging native code is supported via GDB (GNU Project Debugger) over USB.
- Debugging managed code is supported via any JDWP-compatible debugger over USB.
- Logging and crash logs supported for debugging.
Supported hardware
- The platform will run on almost on any ARM based Linux kernel environment.
- The platform requires a minimum of 128 MB of RAM and 256 MB of Flash memory. An OEM may want to support more Flash memory to make it possible to download more third-party applications to user devices.
- The platform will interface with a baseband radio stack provided externally via a Radio Interface Layer (RIL).
- 802.11 b/g Wi-Fi
- Standard USB interface, including USB 2.0
- Bluetooth 2.0 EDR (Enhanced Data Rate)
- Camera for still and video capture
- Removable storage
Supported display- HVGA resolution
- 16 bit color depth
- Landscape and portrait orientation, including dynamic runtime switching
-
Finger-based touchscreen navigation
Supported keypads and buttons- QWERTY
- 5-way navigation
- Hardware buttons: Send, End, Home, Back, Menu
- Power button
- Volume keys (up and down)
- Camera trigger button, including detection for both partial press (to focus) and full press (to actually take a picture)
Supported audio outputs- Audio output via the headphone jack (mono and stereo)
- 64 kbps Bluetooth audio supported
Supported notificationsSupported radio and telephony features
- GPRS, EDGE, UMTS, HSDPA
- International roaming, SMS, MMS
- Emergency call support
- Supplementary Services for Telephony, for example call waiting and conference calling
- Unstructured Supplementary Service Data (USSD)
- Reference Radio Interface Layer (RIL)
|
|