Android 2.1 source code structure analysis leeandroid 2.1 | -- makefile | -- bionic (bionic C library) | -- bootable (BOOT guide code) | -- Build (storing system compilation rules and basic development kit configurations such as generic) | -- CTS (Android compatibility test suite standard) | -- Dalvik (Dalvik Java Virtual Machine) | -- Development (Application Development) | -- External (some open-source modules used by Android) | -- frameworks (core framework -- Java and C ++) | -- hardware (mainly used to protect the Hal code of the hardware adaptation layer) | -- out (the output of the compiled code is in this directory) | -- packages (Application Package) | -- prebuilt (resources pre-compiled in x86 and arm architectures) | -- SDK (SDK and simulator) | -- ‑e M (File System Library, application and component -- C Language) '-- vendor (vendor-defined code) bionic directory | -- libc (C library) | -- arch-arm (ARM architecture, contains System Call Assembly implementation) | -- arch-x86 (X86 architecture, including system call Assembly implementation) | -- bionic (functions implemented by C, architecture-independent) | -- Docs (document) | -- include (header file) | -- iNet (? INet-related, unknown) | -- kernel (some Linux kernel header files) | -- NetBSD (? Nesbsd system related, specific role unknown) | -- private (? Some private header files) | -- stdio (stdio implementation) | -- stdlib (stdlib implementation) | -- string (string function implementation) | -- tools (several tools) | -- tzcode (Time Zone-related code) | -- unistd (unistd implementation) | '-- zoneinfo (Time Zone Information) | -- libdl (libdl implementation, DL is a dynamic link, provides the ability to access Dynamic Link Libraries. | -- libm (implementation of libm mathematical Library) | -- alpha (apaha architecture) | -- amd64 (amd64 Architecture) | -- arm (ARM architecture) | -- bsdsrc (? BSD source code) | -- i386 (i386 architecture) | -- i387 (i387 architecture ?) | -- IA64 (IA64 architecture) | -- include (header file) | -- Man (mathematical function, suffixed. 3. Some FreeBSD library files) | -- POWERPC (PowerPC architecture) | -- sparc64 (sparc64 architecture) | '-- SRC (source code) | -- libstdc ++ (libstdc ++ C ++ implementation Library) | -- include (header file) | '-- SRC (source code) | -- libthread_db (debugger library of multi-thread programs) | '-- include (header file)' -- linker (dynamic linker) '-- arch (supports arm and x86 architectures) bootable directory. | -- bootloader (applicable to various general codes of bootloader) | '-- legacy (cannot be used directly. For details, refer to) | -- arch_armv6 (V6 architecture, several simple Assembly file) | -- arch_msm7k (several basic drivers of the Qualcomm 7k Processor Architecture) | -- include (General header file and Qualcomm 7k architecture header file) | -- libboot (startup library, all write is very simple) | -- libc (some common C functions) | -- nandwrite (nandwirte function implementation) | '-- usbloader (usbloader implementation) | -- diskinstaller (Android image package, x86 can produce ISO) '-- Recovery (System Recovery) | -- edify (the edify script language used by the upgrade script) | -- etc (init. RC recovery script) | -- minui (a simple UI) | -- minzip (a simple compression tool) | -- mtdutils (MTD tool) | -- res (Resource) | '-- images (some images) | -- tools (Tool) | '-- OTA (OTA over the air updates upgrade tool)' -- Updater (Uploader) Build directory. | -- core (core compilation rules) | -- history (History) | -- libs | '-- Host (host database, replaced by Android "CP) | -- target (the compilation object of the target machine) | -- Board (Development Platform) | -- emulator (simulator) | -- generic (common) | -- idea6410 (self-added) | '-- SIM (simplest) |' -- product (compilation rules for the Development Platform) | '-- Security (key-related) '-- tools (tools and scripts used by the compiling host) | -- ACP (Android "ACP" command) | -- apicheck (API checking tool) | -- Applypatch (patch tool) | -- Apriori (pre-linked tool) | -- atree (tree tool) | -- bin2asm (bin conversion to ASM tool) | -- check_prereq (check the compilation timestamp tool) | -- dexpreopt (Simulator-related tool with unknown functions) | -- droiddoc (? Unknown role, Java language, some people say it is related to JDK 5 on the Internet) | -- fs_config (this program takes a list of files and directories) | -- fs_get_stats (get the file system status) | -- iself (determines whether the ELF format is used) | -- isprelinked (determines whether prelinked is used) | -- KCM (key-related) | -- LSD (list symbol dependencies) | -- releasetools (Image Generation Tool and script) | -- rgb2565 (RGB conversion to 565) | -- signapk (APK signature tool) | -- soslim (strip tool) '-- zipalign (ZIP Archive alignment tool) Dalvik directory Dalvik virtual machine. | -- dalvikvm (main. c Directory) | -- dexdump (Dex disassembly) | -- dexlist (list all methods in all concrete classes in a DEX file .) | -- dexopt (pre-verification and optimization) | -- Docs (document) | -- dvz (a command related to zygote) | -- dx (dx tool, convert multiple Java to Dex) | -- hit (? Written in Java) | -- libcore (core library) | -- libcore-disabled (? Disabled Library) | -- libdex (Dex Library) | -- libnativehelper (support functions for Android's class libraries) | -- tests (test code) | -- tools (Tool) '-- VM (Virtual Machine implementation) Development Directory (some routines and tools required by developers) | -- apps (some core applications) | -- javasthdebug (Bluetooth debugging program) | -- customlocale (custom region settings) | -- Development (Development) | -- fallback (a language-related program) | -- fontlab (fontlab) | -- gesturebuilder (gesture action) | -- ninepatchlab (?) | -- Objviewer (OBJ viewer) | -- sdksetup (SDK installer) | -- spareparts (Advanced Settings) | -- term (Remote logon) | '-- launchperf (?) | -- Build (compile Script Template) | -- cmds (with a monkey tool) | -- data (configuration data) | -- Docs (documentation) | -- Host (host-side USB driver, etc) | -- IDE (integrated development environment) | -- ndk (local development kit -- C Language Development Kit) | -- PDK (plug Development Kit) | -- samples (routine) | -- aliasactivity (?) | -- Apidemos (API demo) | -- thinkthchat | -- browserplugin | -- businesscard | -- Compass) | -- contactmanager (Contact Manager) | -- cubelivewallpaper (a simple routine of dynamic wallpaper) | -- fixedgridlayout (such as layout) | -- globaltime (Global Time) | -- helloactivity (Hello) | -- home (home) | -- jetboy (jetboy game) | -- lunarlander (seemingly a game) | -- mailsync (Mail sync) | -- multiresolution (Multi-Resolution) | -- mysamplerss (R SS) | -- notepad (Notepad) | -- rssreader (RSS reader) | -- searchabledictionary (Directory Search) | -- simplejni (JNI routine) | -- skeletonapp (shell APP) | -- Snake | -- softkeyboard | -- wiktionary (? Wiki) | '-- wiktionarysimple (? Wiki routine) | -- scripts (SCRIPT) | -- SDK (SDK configuration) | -- simulator (? Simulator) | -- testrunner (? For testing) '-- tools (some tools) External directory. | -- AES (AES encryption) | -- APACHE-HTTP (Web Server) | -- astl (Android STL) is a slimmed-down version of the regular C ++ STL .) | -- BISON (automatically generate a syntax analyzer and convert irrelevant grammar into C and C ++) | -- blktrace (blktrace is a block layer Io tracing mechanism) | -- Bluetooth (Bluetooth related, protocol stack) | -- bsdiff (diff tool) | -- Bzip2 (compression tool) | -- clearsilver (HTML template System) | -- disable (low-latency, low-overhead, high-availability IPC Mechanism) | -- dhcpcd (Dhcp Service) | -- dosfstools (DOS file system) Tool) | -- dropbear (server of SSH2) | -- e2fsprogs (ext2 File System Tool) | -- elfcopy (tool for copying elf) | -- elfutils (ELF tool) | -- embunit (embedded unit project) | -- Emma (Java code coverage statistical tool) | -- ESD (enlightened sound daemon, mixing multiple audio streams to play on one device) | -- expat (expat is a stream-Oriented XML parser .) | -- fdlibm (freely distributable libm) | -- FreeType (font) | -- fsck_msdos (DOS file system check tool) | -- gdata (Google wireless data related) | -- genext2fs (genext2fs g Enerates an ext2 filesystem as a normal (non-root) User) | -- giflib (GIF Library) | -- googleclient (Google user Library) | -- grub (this is GNU grub, the Grand uniied bootloader .) | -- gtest (Google C ++ testing framework) | -- icu4c (ICU (international component for Unicode) version in C/C ++) | -- IPSec-tools (this package provides a way to use the native IPSec functionality) | -- iptables (firewall) | -- jdiff (generate a report describi Ng the difference between two public Java APIs .) | -- jhead (JPEG header information tool) | -- JPEG (JPEG Library) | -- JUnit (JUnit is a Java unit test framework) | -- kernel-headers (some kernel header files) | -- libffi (libffi is a foreign function interface library .) | -- libpcap (network packet capture function) | -- libpng (PNG Library) | -- libxml2 (XML Parsing Library) | -- mtpd (a command) | -- Netcat (simple Unix utility which reads and writes data‑ss network connections) | -- netperf (network performance measurement tool) | -- Neven (See Code related to JNI) | -- opencore (Multimedia Framework) | -- OpenSSL (SSL encryption) | -- openvpn (Open Source VPN Library) | -- oprofile (oprofile is a performance analysis mechanism supported by Linux kernel .) | -- Ping (Ping Command) | -- PPP (pppd dialing command, it seems that there is no chat) | -- proguard (Java class file shrinker, optimizer, obfuscator, and preverifier) | -- protobuf (a flexible, efficient, automated mechanic for serializing structured data) | -- qemu (ARM Simulator) | -- safe-IOP (functions for faster Ming safe integer operations) | -- skia (skia graphics engine) | -- sonivox (sole MIDI solution for Google Android mobile phone platform) | -- speex (spee Use of the X coding/decoding API (libspeex) | -- SQLite (database) | -- SREC (open-source continuous voice recognition provided by Nuance) | -- strace (trace tool) | -- svox (embedded text-to-speech) | -- tagsoup (tagsoup is a Java developed HTML Parser compliant with Sax) | -- tcpdump (software for capturing TCP packets) | -- tesseract (tesseract open source OCR engine .) | -- tinyxml (tinyxml is a simple, small, C ++ XML Parser) | -- tremor (I stream and file decoder provides an embeddable, integer-only Library) | -- WebKit (Browser core) | -- Wpa_supplicant (Wireless Network Card Management) | -- xmlwriter (XML editing tool) | -- yaffs2 (yaffs File System) '-- zlib (a general purpose data compression library) frameworks directory (core framework-Java and C ++ language ). | -- base (basic content) | -- API (? Are all XML files that define Java APIs ?) | -- AWT (AWT Library) | -- Build (empty) | -- camera (camera service library) | -- cmds (important commands: Am, app_proce, etc) | -- core | -- data (data files such as fonts and sounds) | -- Docs | -- graphics (graphics-related) | -- include (header file) | -- keystore (related to the data signature certificate) | -- libs (Library) | -- location (Region Library) | -- media (media-related library) | -- obex (Bluetooth transfer Library) | -- OpenGL (2d-3d acceleration Library) | -- packages (settings, TTS, VPN programs) | -- sax (XML Parser) | -- services (various service programs) | -- telephony (telephone communication management) | -- t Est-runner (related to test tools) | -- tests (various tests) | -- tools (tools not named) | -- VPN) | '-- WiFi (Wireless Network) | -- opt (optional) | -- com. google. android (with a framework. jar) | -- com. google. android. googlelogin (with a client. jar) | '-- emoji (Standard Message elements)' -- Policies (product related ies are operating system directions aimed at specific uses) '-- Base | -- mid (mid device) '-- phone (this is generally used for mobile phone devices) Hardware directory (hardware adaptation layer ha of some manufacturers open-source L code) | -- Broadcom (Broadcom) | '-- WLAN (wireless network adapter) | -- libhardware (hardware Library) | -- include (header file) | '-- modules (default (and possibly architecture dependents) Hal modules) | -- gralloc (gralloc display) |' -- overlay (skeleton for the "overlay" Hal module .) | -- libhardware_legacy (old hardware Library) | -- Flashlight (backlight) | -- GPS | -- include (header file) | -- Mount (old loader) | -- power | -- qemu | -- qemu_tracing | -- Tests (TEST) | -- uevent | -- vibrator | '-- WiFi (Wireless) | -- msm7k (Qualcomm 7k processor open source abstraction layer) | -- boot | -- libaudio | -- libaudio-qsd8k (qsd8k audio-related library) | -- libcamera (CAMERA Library) | -- libcopybit (copybit Library) | -- libgralloc (gralloc Library) | -- libgralloc-qsd8k (gralloc library of qsd8k) | -- liblights (backlight Library) | '-- librpc (RPC library) | -- RIL (Radio abstraction layer) | -- include (header file) | -- libril (Library) | -- reference-CDMA-SMS (cdma sms Parameter Test) | -- reference-RIL (RIL reference) | '-- rild (RIL Background Service Program)' -- Ti (Open Source Hal OF Ti) | -- omap3 (omap3 processor) | -- dspbridge (DSP Bridge) | -- libopencorehw (opencore hardware Library) | -- liboverlay (overlay hardware Library) | -- libstagefrighthw (stagefright hardware Library) | '-- OMX (OMX component)' -- prebuilt directory of WLAN (wireless network adapter) (resources pre-compiled in x86 and arm architectures ). | -- Android-arm (ARM-Android-related) | -- gdbserver (gdb debugger) | '-- kernel (simulated ARM kernel) | -- android-x86 (x86-android-related) |' -- k Ernel (empty) | -- common (General compiled code, should be Java) | -- darwin-x86 (drawin x86 Platform) | '-- toolchain (tool chain) | -- arm-eabi-4.2.1 | -- arm-eabi-4.3.1 | '-- arm-eabi-4.4.0 | -- darwin-x86_64 (drawin x86 64bit platform) | -- linux-x86 (Linux x86 Platform) |' -- toolchain (toolchain, we should mainly use this) | -- arm-eabi-4.2.1 | -- arm-eabi-4.3.1 | -- arm-eabi-4.4.0 | '-- i686-unknown-linux-gnu-4.2.1 (x86 compiler) | -- linux-x86_64 (Linux x86 64bit platform) | -- wind Ows (Windows platform) '-- windows-x86_64 (64 bit Windows platform) system directory (underlying file system library, applications and components-C language ). | -- Bluetooth | -- core (system core tool box Interface) | -- ADB (ADB debugging tool) | -- cpio (cpio tool, create IMG) | -- debugadh (debugging tool) | -- fastboot (Quick Start) | -- include (system interface header file) | -- Init (INIT program source code) | -- libacc (lightweight C compiler) | -- libctest (libc test related) | -- libcutils (libc tool) | -- liblog (log Library) | -- libmincrypt | -- libnetutils (network tool Library) | -- Libpixelflinger (graphics processing Library) | -- libsysutils (System Tool Library) | -- libzipfile (ZIP Library) | -- logcat (view log tool) | -- logwrapper (log encapsulation tool) | -- mkbootimg (used to start boot. IMG tool box script) | -- netcfg (network configuration netcfg source code) | -- nexus (Code of Google's latest mobile phone) | -- rootdir (rootfs, contains scripts and configurations in some etc files. | -- sh (shell code) | -- Toolbox (toolbox, similar to the busybox tool set) | '-- vold (SD card Manager) | -- extras (additional tool) | -- latencytop (a tool for software developers, identifying s Ystem latency happen) | -- libpagemap (pagemap Library) | -- librank (Java library ranking system library) | -- procmem (pagemap related) | -- procrank (related to Java library ranking system) | -- showmap (showmap tool) | -- showslab (showslab tool) | -- sound (sound-related) | -- SU (su command source code) | -- tests (some test tools) | '-- timeinfo (Time Zone-related)' -- WLAN (Wireless) '-- Ti (Ti Nic related tools and libraries) packages directory. | -- apps | -- alarmclock | -- Bluetooth | -- Browser | -- calculator | -- Calendar | -- camera | -- certinstaller (install a digital signature in Android and called) | -- contacts (dial-up (CALL), contact, call history) | -- Clock (desktop clock) | -- email | -- Gallery (album, similar to camera, a list is added) | -- gallery3d (? 3D album) | -- globalsearch (provides underlying applications for Google Search) | -- googlesearch | -- htmlviewer (browser-dependent interface called by browser applications, at the same time, the storage record function is provided. | -- IM (instant messaging, providing signal sending, receiving, and communication services for mobile phones) | -- launcher (LOGIN startup Item, display image frame, and other graphical interfaces) | -- launcher2 (LOGIN startup Item, responsible for application calling) | -- MMS (? MMS Service) | -- music (music player) | -- packageinstaller (response for installing and uninstalling programs) | -- phone (dialing program) | -- provision (Default Application Status, enabling application) | -- settings (boot settings, including power, Bluetooth, device information, interface, WiFi, etc) | -- soundrecorder (recorder, which can calculate the storage space and time required) | -- STK (receiving and sending text messages) | -- Sync (null) ------- ○ 1 | -- Updater (null) | '-- voicedialer (Speech Recognition call) | -- inputmethods (input method) | -- latinime (latinime) | -- openwnn (openwnn Input Method) | '-- pinyinime (PinYin Input Method) | -- providers Data) | -- applicationsprovider (application provider that provides application startup items and updates) | -- calendarprovider | -- contactsprovider (contact provider) | -- downloadprovider (download management provider) | -- drmprovider (called when a database is created and updated) | -- googlecontactsprovider (a subclass of the contact provider used to synchronize contacts) | -- googlesubscribedfeedsprovider (set the information provider) | -- improvider (null) | -- managementprovider (null) | -- mediaprovider (Media provider that provides storage data) | -- telephonyprovider (MMS provider) | -- userdictiona Ryprovider (user dictionary provider, which provides common word dictionary for users) | '-- websearchprovider (null) | -- services | -- easservice (null) |' -- lockandwipe (null) '-- wallpapers | -- Basic (Basic wallpaper, built-in wallpaper) | -- livepicker (select dynamic wallpaper) | -- magicsmoke (Special wallpaper effects)' -- musicvisualization (music visualization, graphics change with music) ○ 1 there is a hidden one. git folders have the same content and no meaningful code. config seems to be a download program, so there is no substance in these folders. Vendor directory (customized by manufacturer) | -- aosp (Android open source project) | '-- Products (some board-level rules) | -- HTC (HtC) | -- Common-open (common part) | '-- akmd (tool used to decompress IMG) | -- dream-open (G1 open part) | -- prebuilt-open (pre-compiled open part) | '-- sapphire-open (sapphire open content) | -- PV-open (nothing) | -- qcom (which is basically empty) '-- sample (sample provided by Google) | -- apps | -- client (User) |' -- upgrade (upgrade) | -- frameworks (framework) | '-- platformlibrary (platform Library) | -- Products (product) | -- sdk_addon (SDK added part)' -- skins (skin) '-- wvgameddpi (image for WVGA) is not listed in the SDK and out directory