At the root of this architecture is the Linux Kernel 2.6. As known to everyone, Linux is a fully open source operating system, thus Android is also a totally open source system. Any individual or company can get the source code at http://developer.android.com/ . The Linux kernel provided the core components for interaction with mobile phone hardware. Well, like the operating system for PC, it provides management for many resources, memory, process, network, etc. However, the Android version of Linux distinguishes itself from the normal Linux in that: it provides customized management for handset hardware which are greatly differ from PC. The following lists some aspects requiring special attention when customize Linux for Handset mobile.
- Power
- Flash Memory
- Keypad
- Wifi
System Library
Stacked on the Linuxe Kernel, Google integrated many libraries into Android, tailored to mobile handset needs:
- SQLite, a lightweight database engine used a lot in Google's applications to store data. For example, all cookie and history information of Chrome browser use SQLite to store cache locally.
- WebKit, a browser engine that is also used in Chrome.
- SSL: for certification and encryption.
- OpenGL: for 2D and 3D graphic.
- Media Framework: photos, video, etc.
Applications
At this top layer, you will find applications that ship with the Android device
(such as Phone, Contacts, Browser, etc.), as well as applications that you download and install
from the Android Market. Any applications that you write are located at this layer.
Dalvik Virtual Machine
Dalvik is a purpose-built virtual machine designed specifically for Android, developed
by Dan Bornstein and his team at Google.
The Java virtual machine (VM) was designed to be a one-size-fits-all solution, and the
Dalvik team felt they could do a better job by focusing strictly on mobile devices. They
looked at which constraints specific to a mobile environment are least likely to change
in the near future. One of these is battery life, and the other is processing power. Dalvik
was built from the ground up to address those constraints.
by Dan Bornstein and his team at Google.
The Java virtual machine (VM) was designed to be a one-size-fits-all solution, and the
Dalvik team felt they could do a better job by focusing strictly on mobile devices. They
looked at which constraints specific to a mobile environment are least likely to change
in the near future. One of these is battery life, and the other is processing power. Dalvik
was built from the ground up to address those constraints.
Another side effect of replacing the Java VM with the Dalvik VM is the licensing.
Whereas the Java language, Java tools, and Java libraries are free, the Java virtual machine
is not. This was more of an issue back in 2005 when the work on Dalvik started.
Nowadays, there are open source alternatives to Sun’s Java VM, namely the
OpenJDK and Apache Harmony projects.
By developing a truly open source and license-friendly virtual machine, Android yet
again provides a full-featured platform that others are encouraged to adopt for a variety
of devices without having to worry about the license
Whereas the Java language, Java tools, and Java libraries are free, the Java virtual machine
is not. This was more of an issue back in 2005 when the work on Dalvik started.
Nowadays, there are open source alternatives to Sun’s Java VM, namely the
OpenJDK and Apache Harmony projects.
By developing a truly open source and license-friendly virtual machine, Android yet
again provides a full-featured platform that others are encouraged to adopt for a variety
of devices without having to worry about the license
Application Framework
The application framework is a rich environment that provides numerous services to
help you, the app developer, get your job done. This is the best-documented and most
extensively covered part of the platform because it is this layer that empowers developers
to get creative and bring fantastic applications to the market.
In the application framework layer, you will find numerous Java libraries specifically
built for Android. You will also find many services (or managers) that provide the ecosystem
of capabilities your application can tap into, such as location, sensors, WiFi,
telephony, and so on.
No comments:
Post a Comment