Android is a software stack for mobile devices that includes an operating system, middleware and key applications.html
Android是一個包括了操做系統,中間件有關鍵應用的移動設備軟件集.java
The Android SDK provides the tools and APIs necessary to begin developing applications on the Android platform using the Java programming language.linux
Android SDK 提供了在Android平臺使用java語言開發應用所必須的工具和APIsandroid
Features特色The following diagram shows the major components of the Android operating system. Each section is described in more detail below.下面這個圖展現了Android操做系統的主要組件。每個部分在後面都有詳細的描述web
Applications應用數據庫
Android will ship with a set of core applications including an email client, SMS program, calendar, maps, browser, contacts, and others. Android將裝載一套核心應用,包括email客戶端,SMS(發短信)程序,日曆,地圖,瀏覽器,(contacts)聯繫人等等.瀏覽器
All applications are written using the Java programming language.全部的應用都用Java語言編寫安全
Application Framework應用框架By providing an open development platform, Android offers developers the ability to build extremely rich and innovative applications. 經過提供一個開放的開發平臺,Android讓開發者具有開發極爲豐富有創意的應用程序的能力.網絡
Developers are free to take advantage of the device hardware, access location information, run background services, set alarms, add notifications to the status bar, and much, much more. 開發者能任意的發揮硬件設備的優勢,訪問本地信息,運行後臺服務,設置鬧鐘,給狀態條增長通知等等架構
Developers have full access to the same framework APIs used by the core applications. 開發者徹底可與核心應用訪問同一個應用框架
The application architecture is designed to simplify the reuse of components; 應用架構被設置成簡化組件的重用.
any application can publish its capabilities and any other application may then make use of those capabilities 任何應用能夠公佈它的功能,而且其餘應用可使用這些功能
(subject to security constraints enforced by the framework). This same mechanism allows components to be replaced by the user.這個機制容許用戶替換組件.
Underlying all applications is a set of services and systems, including: 在全部的應用下面是一套系統和服務,包括:
For more details and a walkthrough of an application, see the Notepad Tutorial.更多詳細及應用的全過程,請看Notepad Tutorial
Libraries庫Android includes a set of C/C++ libraries used by various components of the Android system. Android包括一套Android系統各類組件用到的C/C++庫
These capabilities are exposed to developers through the Android application framework. Android應用框架向開發者展現了這些功能
Some of the core libraries are listed below:下面是一些核心的庫
Android includes a set of core libraries that provides most of the functionality available in the core libraries of the Java programming language.
Android包含了一套核心庫,用Java語言編寫的核心庫中包括了大多數可用的函數功能
Every Android application runs in its own process, with its own instance of the Dalvik virtual machine. 每一個一Android應用,運行在它本身的進程中,捅有本身的Dalvik虛擬機實例
Dalvik has been written so that a device can run multiple VMs efficiently. 爲了一個設備能高效的運行多個VMs,Dalvik已被重寫。
The Dalvik VM executes files in the Dalvik Executable (.dex) format which is optimized for minimal memory footprint. Dalvik執行.dex格式的Dalvik可執行文件,這種格式專爲最小內優化
The VM is register-based, and runs classes compiled by a Java language compiler that have been transformed into the .dex format by the included "dx" tool.
VM是基於註冊的,而且運行由Java語言編譯器編譯的類,再經dx工具轉換成.dex格式的(文件)
The Dalvik VM relies on the Linux kernel for underlying functionality such as threading and low-level memory management.
Dalvik VM依賴於linux內核低層功能,好比線程和低級內存管理。
Linux Kernel Linux內核 Android relies on Linux version 2.6 for core system services such as security, memory management, process management, network stack, and driver model. Android依賴linux 2.6版本的核心繫統服務,好比安全機制,內存管理,進程管理,網絡堆,和驅動模型. The kernel also acts as an abstraction layer between the hardware and the rest of the software stack.內核也扮演着其餘軟件堆與硬件之間的抽象層角色