210 likes | 224 Views
Learn about the Android architecture, HAL, device drivers, and key versions like Jelly Bean, ICS, and more. Discover the open-source nature and essential components. Perfect for aspiring Android developers.
E N D
chapter 6- Android Introduction chenbo2008@ustc.edu.cn 中国科学技术大学软件学院
Agenda • Androidarchitecture • Android-HAL • Androiddevice driver 2
Androiddevelopments Android 4.2 Jelly Bean Android 4.1 Jelly Bean Android 4.0 Ice Cream Sandwich Android 3.0Honeycomb Android 2.3Gingerbread Android 2.2/2.2.1Froyo Android2.0/2.0.1/2.1Eclair Android 1.6Donut Android 1.5 Cupcake Android1.1 Robot 4
Android Inc. founded 2003 • Purchased by Google from initial dveloper in 2005 • Version 2.0 released 2009 • Starts to take hold in the Smartphone Market • Version 3.0 released 2011 • Predominantly used in Tablets Androiddevelopments 5
AndroidArchitecture Android OS = Android Runtime + Linux Kernel 10
Kernel Layer • Android is built on the Linux kernel 2.6.24+ and Provide coresystem services such as process, memory, power management,network stack, driver model and security. • Android Driver Ashmem, Binder, Power Management, LowMemKillrer, logger. AndroidArchitecture 11
Hardware Abstraction Layer– Abstract the hardware features , and separate the kernel spaceand user space.– It is user space, not kernel space.– GPL problem. AndroidArchitecture 13
The library runs in the system.– Bionic Libc– Function Libraries– Hardware Abstraction Libraries AndroidArchitecture 15
Bionic Libc • C/C++ library, custom libc implementation, optimized for embedded use. • WebKit- Apple Safari • Based on open source WebKit browser • Full CSS, Javascript, DOM, AJAX support • Media Framework • Based on PacketVideo OpenCORE platform • Supports standard video, audio, still-frame formats • Might be replaced by Stagefright framework • Surface manager • Audio manager • OpenGL AndroidArchitecture 16
Android Runtime.– Not use java runtime, and java virtual machine– Core library already contained more originally java API– Unlike most of virtual machines that are stack based, Dalvikarchitecture is register based. AndroidArchitecture 17
AndroidArchitecture Native Service JNI Android Service HAL 18
Application– Java programming– Default Application : Email, Browser, Clock, Calendar, etc. AndroidArchitecture 20