Android research-android2.3.7 source code structure analysis [zz]

Source: Internet
Author: User

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.

 

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.