[Excerpt] Structure Analysis of the android 2.1 source code

Source: Internet
Author: User
Tags xml parser skia
Android 2.1 source code structure analysis
Rockie Cheng
For Android 2.1
| -- Makefile
| -- Bionic (bionic C Library)
| -- Bootable Code )
| -- Build (stores basic development kit configurations such as system compilation rules and generic)
| -- CTS (Android compatibility test suite Standard)
| -- Dalvik (Dalvik Java Virtual Machine)
| -- Development (Application Program Development)
| -- External (some open-source modules used by Android)
| -- Frameworks (core framework -- Java and C ++ language)
| -- Hardware (mainly protects the Hal code of the hardware adapter layer)
| -- Out (the code output after compilation is in this directory)
| -- Packages (Application Package)
| -- Prebuilt (resources pre-compiled in x86 and arm architectures)
| -- SDK (SDK and simulator)
| -- System (File System Library, application, and component-C language)
'-- Vendor (vendor-defined code)

Bionic directory
| -- Libc (C Library)
| -- Arch-arm (ARM architecture, including 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 problems. The specific role is unknown)
| -- Kernel (some header files in Linux kernel)
| -- NetBSD (? Nesbsd system related, specific role unknown)
| -- Private (? Some private header files)
| -- Stdio (stdio implementation)
| -- Stdlib (implemented by stdlib)
| -- String (string function implementation)
| -- Tools (several tools)
| -- Tzcode (Time Zone related code)
| -- Unistd (unistd implementation)
| '-- Zoneinfo (Time Zone Information)
| -- Libdl (implemented by libdl. DL is a dynamic link and provides the function of accessing the Dynamic Link Library)
| -- 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 with. 3, some library files for FreeBSD)
| -- POWERPC (PowerPC architecture)
| -- Sparc64 (sparc64 Architecture)
| '-- SRC ( Source code )
| -- Libstdc ++ (libstdc ++ C ++ implementation Library)
| -- Include (header file)
| '-- SRC (source code)
| -- Libthread_db (multi-threaded program debugger Library)
| '-- Include (header file)
'-- Linker (dynamic linker)
'-- Arch (supports arm and x86 architectures)
Bootable directory
.
| -- Bootloader (applicable to common bootloader code)
| '-- Legacy (it is estimated that it cannot be used directly. For details, refer)
| -- Arch_armv6 (V6 architecture, several simple assembly files)
| -- Arch_msm7k (several basic drivers of Qualcomm 7 k Processor Architecture)
| -- Include (General header file and Qualcomm 7 k architecture header file)
| -- Libboot (the startup library is easy to write)
| -- Libc (some common C functions)
| -- Nandwrite (nandwirte function implementation)
| '-- Usbloader (usbloader implementation)
| -- Diskinstaller (Android image package, x86 can produce ISO)
'-- Recovery (related to 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)
| '-- OTA (OTA over the air updates upgrade tool)
'-- Updater)
Build directory
.
| -- Core (core compilation rules)
| -- History (History)
| -- Libs
| '-- Host (host database, replaced by the android "CP" function)
| -- Target (the compilation object of the target machine)
| -- Board (Development Platform)
| -- Emulator (simulator)
| -- Generic (General)
| -- Idea6410 (self-added)
| '-- SIM (simplest)
| '-- Product (compilation rules of 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 tools with unknown functions)
| -- Droiddoc (? Unknown role, Java language. Someone on the Internet said it was related to JDK 5)
| -- Fs_config (this program takes a list of files and directories)
| -- Fs_get_stats (obtain the file system status)
| -- Iself (determines whether the ELF format is used)
| -- Isprelinked (determine whether prelinked is used)
| -- KCM (key-related)
| -- LSD (list symbol dependencies)
| -- Releasetools (image generation tools and scripts)
| -- 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, which converts multiple Java into 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)
'-- VM (Virtual Machine implementation)

Development Directory (some routines and tools required by developers)
| -- Apps (some core applications)
| -- Debuthdebug (Bluetooth debugging program)
| -- Customlocale (custom region settings)
| -- Development (Development)
| -- Fallback (a language-related Program)
| -- Fontlab (font)
| -- 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 (document)
| -- 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)
| -- Bluetooth chat)
| -- Browserplugin (browser plug-in)
| -- Businesscard (Commercial card)
| -- Compass (Compass)
| -- Contactmanager (Contact Manager)
| -- Cubelivewallpaper (a simple routine of live wallpaper)
| -- Fixedgridlayout (like layout)
| -- Globaltime (Global Time)
| -- Helloactivity (Hello)
| -- Home (home)
| -- Jetboy (jetboy game)
| -- Lunarlander (seemingly a game)
| -- Mailsync (Mail sync)
| -- Multiresolution (Multi-Resolution)
| -- Mysamplerss (RSS)
| -- Notepad (Notepad)
| -- Rssreader (RSS reader)
| -- Searchabledictionary (Directory Search)
| -- Simplejni (JNI routine)
| -- Skeletonapp (shell APP)
| -- Snake)
| -- Softkeyboard (soft keyboard)
| -- Wiktionary (? Wiki)
| '-- Wiktionarysimple (? Wikipedia)
| -- 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 generates a syntax analyzer to convert irrelevant grammar into C and C ++)
| -- Blktrace (blktrace is a block layer Io tracing mechanic)
| -- Bluetooth (Bluetooth related, protocol stack)
| -- Bsdiff (diff tool)
| -- Bzip2 (compression tool)
| -- Clearsilver (HTML template System)
| -- Least (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 statistics Tool)
| -- ESD (enlightened sound daemon, which combines multiple audio streams for playing 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)
| -- Genext2fs (genext2fs generates 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 describing the difference between two public Java APIs .)
| -- Jhead (JPEG header information tool)
| -- JPEG (JPEG Library)
| -- JUnit (JUnit is a unit test framework in Java)
| -- 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 (view Code related to JNI)
| -- Opencore (Multimedia Framework)
| -- OpenSSL (SSL encryption)
| -- Openvpn (VPN open source 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, fig 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 (use of the speex encoding/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 an HTML Parser that is developed in Java and complies 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)

Related Article

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.