one. Android Photo Frame
Android Frame level : Android is divided into 4 layers from bottom to top;
-- Linux kernel layer ;
-- various libraries and Android execution Environment layer ;
- application framework layer ;
-- application layer ;
1. Linux kernel layer
the Linux kernel layer of Android : Linux kernel and driver ;
Linux kernel : Android 2.x is based on Linux 2.6 kernel;
Drivers :
-- display Driver ( graphics driver ): Linux frame buffer driver;
-- Flash memory Driver (Flash RAM driver ): MTD-based flash driver;
-- camera Driver : Based on Linux v4l driver;
-- Audio Driver : Based on ALSA driver;
-- WiFi Driver (wifi driver ): Based on the IEEE 801.31 standard driver;
-- KeyBoard Driver ( keyboard driver ): As the input device keyboard driver;
--Bluetooth Driver ( bluetooth® driver ): Wireless transmission technology based on IEEE 801.35.1 standard;
-- Binder IPC Driver : Android-specific driver, with separate device node, providing the function of process communication;
--Power Management : Manage battery power and other information;
Parsing driver :
-- frame buffer (framebuffer) : The video output device contains a video buffer with full frame data, which is used to drive the video display device;
-- v4l (video for Linux) : Camera driver in Linux;
-- ALSA (Advanced Linux sound Architecture) : High-level Linux audio system driver, which provides a sound card driver;
2. Library and Android Execution Environment
This layer is divided into two parts : Android execution Environment and various libraries;
various libraries are introduced : These libraries are provided in the form of system middleware, which is closely related to the application of mobile device platform;
-- C standard library : The bottom of the Android system library, the standard library calls the kernel system calls to implement the required functions;
-- Media Framework ( Multimedia frame ): Android Multimedia Core, is based on the PacketVideo Opencore framework, features an audio video playback, function two audio video recording;
-- SGL : 2D engine;
-- SSL (secure Socket layer): mainly provides security support for the data communication between TCP/IP protocol and Application layer protocol;
-- OpenGL ES : 3D engine;
-- surface Management (Interface management tool): Manage the function of display subsystem;
-- SQLite : Embedded database;
-- WebKit : web browser kernel;
-- FreeType : provides bitmap and vector font functions;
Dalvik virtual machines and JVM differences :
-- Execute file : JVM executes. class standard bytecode file, Dalvik virtual machine executes. dex file;
--The biggest difference : The JVM is a stack-based (stack-based) virtual machine, and the Dalvik virtual machine is a register-based (register-based) virtual machine that can be better optimized based on hardware ;
3. Application Framework Layer
Application Framework Layer : This layer provides the API used by the application, including a variety of UI components and other components, including the following components;
- Activity: the main activities interface;
- broadcastreceiver : Broadcast receivers;
- service: services;
-- ContentProvider : content providers;
4. Application Layer
This layer is the main APK installation program;
two. Android Source code Structure
based on the ANDROID-2.3.4_R1 version number of the source code for analysis ;
Android source code structure Classification :
-- Core part : This part is the foundation of building the Android system, it is saved in the file of the root folder;
-- Extend project: Use parts of other open source projects;
-- Package part : Provides Android application, four components, etc., in the Packages folder;
1. Root folder (/)
Bionic : The source code of the base library, C execution Support library libc, LIBM, LIBDL, dynamic linker;
bootable/bootloader/legacy : Kernel boot loader, the program executed before loading the kernel;
build : The scripts and tools required to compile and configure;
Dalvik : A Java virtual machine in Android that provides the basis for Android application execution;
Development : A high level of templates and tools required for program development;
external : Other open Source extension libraries used;
Frameworks : Application framework layer, four components and so on;
hardware : hardware-related libraries;
kernel : Linux kernel source code;
Packages : Android various applications;
prebuilt : Compiled preset scripts under various platforms;
recovery : Related to Android system recovery function;
system : Android underlying library;
Makefile : The entire Android source code compiled by Makefile;
2. Development folder (/development)
Apps : Android app templates;
build : Compile script template;
host : Some tools of the Windows platform;
Samples : Demo sample program, simple Android program, can be used as a template;
3. External folder (/external)
opencore : Android multimedia frame core;
webkit : Android Web browser core;
sqlite : Android database system core;
OpenSSL : Secure Socket Layer is a network protocol that provides secure support for data communication;
4. Frameworks
base : basic content of Android core Framework library;
opt : Optional part;
Base Folder Contents :
-- Cmds : an important order;
- Core: Kernel library;
- -Data: font sound file;
-- Docs : Documents;
- Graphics: graphic correlation;
- include : header file;
-- KeyStore : Data signing certificate;
-- Libs : library;
- Location: Regional Library;
Media : medium-related library;
-- obex : Bluetooth related library;
-- OpenGL : 3D Graphics library;
-- Packages : Set up a TTS VPN and other libraries;
-- sax : XML parsing;
- Services: various service;
-- Telephony : telephone communication management;
-- Test-runner : Test tool related;
- Test : various tests;
- Tools: a variety of instruments;
-- VPN :
-- WiFi :
5. Packages folder (/packages)
Apps : various apps in Android;
providers : Save content provider information;
inputmethod : Input method;
wallpapers : wallpaper;
Copyright notice: This article Bo Master original articles, blogs, without consent may not be reproduced.
Android Photo frame with source code structure