Android2.1 source code structure analysis

Source: Internet
Author: User
Tags xml parser gdb debugger skia
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

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.