Address: http://www.oschina.net/question/234345_44376
ThisArticleThe introduction is good, comprehensive, and easy to read!
PairAndoridDuring system analysis or system function customization, we often need to spend a lot of time in many files to locate the desired part. To reduce this boring and unavoidable work2.3.7The source code structure of the version is analyzed. I hope it will help my friends who have just joined the android army.
The root directory structure of version 2.3.7 _ r1:
Makefile)
Bionic (Bionic CLibrary, C runtime support: libc, libm, libdl, dynamic linker)
BootableCode)
Build (storing system compilation rules andGenericAnd other basic development kit configurations)
CTS (AndroidCompatibility Test Suite Standard)
Dalvik (Dalvik JavaVirtual Machine)
Development (ApplicationProgramDevelopment)
Device (compilation variables of vendor devices, etc)
External (AndroidSome open-source modules used)
Frameworks (core framework-- JavaAndC ++Language)
Hardware (mainly the hardware adaptation layer)HalCode)
Libcore (core library, supporting Dalvik)
Ndk (a development tool for local code, used to include the local code of the Application)
Out (the code output after compilation is in this directory)
Packages)
Prebuilt (X86AndArmResources pre-compiled under the Architecture)
SDK (SDKAnd simulators)
System (File System Library, applications, and components-- CLanguage)
Main project and description:
BionicDirectory
Libc (CLibrary)
Libdl (DLIs a dynamic link that provides the function of accessing the dynamic link library)
Libm (MIt is mathematics and provides mathematical computing functions)
Libstdc ++ (Standard C ++Implementation Library)
Libthread_db (thread debugging library, GDB-related)
Linker)
BootableDirectory
Bootloader (suitable for variousBootloaderGeneral Code, Some function implementations and some assembly files)
Diskinstaller (AndroidImage package,X86Available for ProductionISO)
Recovery (System Recovery)
BuildDirectory
Core (core compilation rules)
Libs (host database,Android "CP"Function replacement)
Target (target machine compilation object: simulator, etc)
Tools (tools and scripts used by the compiling host)
DalvikDirectory
Dalvikvm (Main. cDirectory)
Dexdump (DexDisassembly)
Dexlist (List all methods in all concrete classes in a DEX file.)
Dexopt (pre-verification and optimization)
Docs (documentation)
Dvz (andZygoteRelated command)
DX (DXTool, multipleJavaConvertDex)
Hit (speculation is the real line of operations related to instances in the stack)
Libdex (DexLibrary)
Libnativehelper (Android local help library)
Tests (test code)
Tools)
VM (Virtual Machine implementation)
DevelopmentDirectory
Apps (some core applications)
Build (compile Script Template)
Cmds (withMonkeyTool)
Data (configuration data)
Docs (documentation)
HostUSBDriver, etc)
IDE (integrated development environment)
Ndk (local development kit-- CLanguage Development Kit)
PDK (Plug Development Kit)
Samples (example)
Scripts (SCRIPT)
SDK (SDKConfiguration)
Sdk_overlay (input method configuration)
Simulator (simulator)
Testrunner (for testing)
Tools (some tools)
Tutorials (Tutorial)
Framework directory
Base (core framework library, mostly Java or C ++)
Ex (I guess it is the Java class left by the previous version)
Opt (Optional: emoji factory type)
Hardware directory
Broadcom (Open Source abstraction layer of Broadcom)
Libhardware (Hardware Abstraction Layer Library)
Libhardware_legacy (legacy Hardware Abstraction Layer Library)
Msm7k (Qualcomm 7k processor open source abstraction layer)
Qcom (qcom open source abstraction layer)
RIL (wireless interface layer ))
Ti (Ti open source abstraction layer)
Kernel Directory
Linux Kernel, empty
Libcore directory
Dalvik (supported by Dalvik)
Dom (file object model)
Expectations (exception-related)
ICU (UNICODE support for JNI international components)
Include (some header files)
JSON (JavaScript Object symbol-related)
JUnit (related to JUnit testing tools)
Luni (speculation is the implementation of some basic java libraries)
SQLite-JDBC (Java database connection Implementation of SQLite)
Support (some tests)
XML (XML supported)
Prebuilt directory
Pre-compiled header files for each host
System Directory
Bluetooth)
Core (system core tool)
Extras
(Extended tools)
Media)
Netd (network related)
Vold (SD card related)
WLAN (Wireless)
PS:. GitThe folder isRepoOrGitThe file used by the tool is not of the android project.
This article is complete.