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