Android source code structure analysis

Source: Internet
Author: User
Tags gdb debugger
Android source code structure analysis

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 (core database)
| -- Data (data files such as fonts and sounds)
| -- Docs (document)
| -- Graphics (Graphic-related)
| -- Include (header file)
| -- Keystore (related to the data signature certificate)
| -- Libs (database)
| -- Location (Region database)
| -- Media (media related Library)
| -- Obex (Bluetooth transfer Library)
| -- Opengl (2D-3D acceleration Library)
| -- Packages (set, TTS, VPN Program)
| -- Sax (XML Parser)
| -- Services (various service programs)
| -- Telephony (telephone communication management)
| -- Test-runner (test tool related)
| -- Tests (various tests)
| -- Tools (some tools not named above)
| -- Vpn)
| '-- Wifi (Wireless Network)
| -- Opt (optional)
| -- Com. google. android (with framework. jar)
| -- Com. google. android. googlelogin (with 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 devices)

Hardware directory (some manufacturers provide open-source hardware solution Adaptation Layer HAL code)
| -- Broadcom (broadcom)
| '-- Wlan (Wireless Network Card)
| -- Libhardware (hardware Library)
| -- Include (header file)
| '-- Modules (Default (and possibly architecture dependents) HAL modules)
| -- Gralloc (gralloc display related)
| '-- Overlay (Skeleton for the "overlay" HAL module .)
| -- Libhardware_legacy (old hardware Library)
| -- Flashlight (backlight)
| -- Gps)
| -- Include (header file)
| -- Mount (old loader)
| -- Power)
| -- Qemu (simulator)
| -- Qemu_tracing (simulator tracking)
| -- Tests (test)
| -- Uevent (uevent)
| -- Vibrator (vibration)
| '-- Wifi (Wireless)
| -- Msm7k (Qualcomm 7k processor open source abstraction layer)
| -- Boot)
| -- Libaudio (audio and audio database)
| -- Libaudio-qsd8k (qsd8k sound-related Library)
| -- Libcamera (CAMERA Library)
| -- Libcopybit (copybit Library)
| -- Libgralloc (gralloc Library)
| -- Libgralloc-qsd8k (qsd8k gralloc Library)
| -- Liblights (backlight Library)
| '-- Librpc (RPC Library)
| -- Ril (Radio abstraction layer)
| -- Include (header file)
| -- Libril (database)
| -- Reference-cdma-sms (cdma sms reference)
| -- 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)
'-- Wlan (Wireless Network Card)

Prebuilt directory (resources pre-compiled in x86 and arm architectures)
.
| -- Android-arm (related to arm-android)
| -- Gdbserver (gdb debugger)
| '-- Kernel (simulated arm kernel)
| -- Android-x86 (x86-android related)
| '-- Kernel (null)
| -- Common (common compiled code, which should be java)
| -- Darwin-x86 (drawin x86 Platform)
| '-- Toolchain)
| -- 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 (tool chain, which should be used mainly)
| -- 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)
| -- Windows (windows platform)
'-- Windows-x86_64 (64bit 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 (encrypted Library)
| -- Libnetutils (network tool Library)
| -- Libpixelflinger (graphics processing Library)
| -- Libsysutils (System Tool Library)
| -- Libzipfile (zip Library)
| -- Logcat (view log tool)
| -- Logwrapper (log encapsulation tool)
| -- Mkbootimg (create a tool box script to start boot. img)
| -- Netcfg (network configuration netcfg source code)
| -- Nexus (Code of google's latest mobile phone)
| -- Rootdir (rootfs, including scripts and configurations under etc)
| -- Sh (shell code)
| -- Toolbox (toolbox, similar to the tool set of busybox)
| '-- Vold (SD card Manager)
| -- Extras (additional tool)
| -- Latencytop (a tool for software developers, identifying system 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 (Application Library)
| -- AlarmClock (alarm clock)
| -- Bluetooth)
| -- Browser)
| -- Calculator (Calculator)
| -- Calendar)
| -- Camera (Camera)
| -- CertInstaller (install digital signature in Android and called)
| -- Contacts (Dialing (CALL), Contacts, and call records)
| -- Clock (desktop clock)
| -- Email)
| -- Gallery (album, similar to Camera, with more lists)
| -- Gallery3D (? 3D album)
| -- GlobalSearch (providing underlying applications for google Search)
| -- GoogleSearch (google Search)
| -- HTMLViewer (browser-dependent interface called by browser applications, and the storage record function is also provided)
| -- IM (instant messaging, which provides services for sending, receiving, and communicating signals to mobile phones)
| -- Launcher (LOGIN startup Item, display image frame, and other graphical interfaces)
| -- Launcher2 (LOGIN startup Item, responsible for application calls)
| -- Mms (? MMS Service)
| -- Music (Music player)
| -- PackageInstaller (response to program installation and uninstallation)
| -- Phone (dialing program)
| -- Provision (preset application status to enable application)
| -- Settings (boot Settings, including power, Bluetooth, device information, interface, wifi, etc)
| -- SoundRecorder (recorder, which can calculate the storage space and time)
| -- Stk (receive and send SMS messages)
| -- Sync (null) ------- ○ 1
| -- Updater (null)
| '-- VoiceDialer (Voice Recognition call)
| -- Inputmethods (input method)
| -- LatinIME (LatinIME)
| -- OpenWnn (OpenWnn input method)
| '-- PinyinIME (PinYin Input Method)
| -- Providers (provides the data required for applications and interfaces)
| -- ApplicationsProvider (application provider, which provides application startup items and updates)
| -- CalendarProvider (calendar provider)
| -- 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)
| -- UserDictionaryProvider (user dictionary provider, which provides the user's frequently-used word dictionary)
| '-- WebSearchProvider (null)
| -- Services
| -- EasService (null)
| '-- LockAndWipe (null)
'-- Wallpapers (wallpaper)
| -- Basic (Basic wallpaper, built-in wallpaper)
| -- LivePicker (select live wallpaper)
| -- MagicSmoke (Special wallpaper effects)
'-- MusicVisualization (music visualization, graphics change with music)

○ 1 there is a hidden. git folder with 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)
| -- Common-open (common part)
| '-- Akmd (tool used to decompress img)
| -- Dream-open (G1 open part)
| -- Prebuilt-open (pre-compiled open part)
| '-- Sapphire-open (available content of the sapphire Model)
| -- 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 (Added sdk)
'-- Skins (skin)
'-- WVGAMedDpi (applicable images for WVGA)

 

The SDK and OUT directory are not listed.

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 (core database)
| -- Data (data files such as fonts and sounds)
| -- Docs (document)
| -- Graphics (Graphic-related)
| -- Include (header file)
| -- Keystore (related to the data signature certificate)
| -- Libs (database)
| -- Location (Region database)
| -- Media (media related Library)
| -- Obex (Bluetooth transfer Library)
| -- Opengl (2D-3D acceleration Library)
| -- Packages (set, TTS, VPN Program)
| -- Sax (XML Parser)
| -- Services (various service programs)
| -- Telephony (telephone communication management)
| -- Test-runner (test tool related)
| -- Tests (various tests)
| -- Tools (some tools not named above)
| -- Vpn)
| '-- Wifi (Wireless Network)
| -- Opt (optional)
| -- Com. google. android (with framework. jar)
| -- Com. google. android. googlelogin (with 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 devices)

Hardware directory (some manufacturers provide open-source hardware solution Adaptation Layer HAL code)
| -- Broadcom (broadcom)
| '-- Wlan (Wireless Network Card)
| -- Libhardware (hardware Library)
| -- Include (header file)
| '-- Modules (Default (and possibly architecture dependents) HAL modules)
| -- Gralloc (gralloc display related)
| '-- Overlay (Skeleton for the "overlay" HAL module .)
| -- Libhardware_legacy (old hardware Library)
| -- Flashlight (backlight)
| -- Gps)
| -- Include (header file)
| -- Mount (old loader)
| -- Power)
| -- Qemu (simulator)
| -- Qemu_tracing (simulator tracking)
| -- Tests (test)
| -- Uevent (uevent)
| -- Vibrator (vibration)
| '-- Wifi (Wireless)
| -- Msm7k (Qualcomm 7k processor open source abstraction layer)
| -- Boot)
| -- Libaudio (audio and audio database)
| -- Libaudio-qsd8k (qsd8k sound-related Library)
| -- Libcamera (CAMERA Library)
| -- Libcopybit (copybit Library)
| -- Libgralloc (gralloc Library)
| -- Libgralloc-qsd8k (qsd8k gralloc Library)
| -- Liblights (backlight Library)
| '-- Librpc (RPC Library)
| -- Ril (Radio abstraction layer)
| -- Include (header file)
| -- Libril (database)
| -- Reference-cdma-sms (cdma sms reference)
| -- 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)
'-- Wlan (Wireless Network Card)

Prebuilt directory (resources pre-compiled in x86 and arm architectures)
.
| -- Android-arm (related to arm-android)
| -- Gdbserver (gdb debugger)
| '-- Kernel (simulated arm kernel)
| -- Android-x86 (x86-android related)
| '-- Kernel (null)
| -- Common (common compiled code, which should be java)
| -- Darwin-x86 (drawin x86 Platform)
| '-- Toolchain)
| -- 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 (tool chain, which should be used mainly)
| -- 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)
| -- Windows (windows platform)
'-- Windows-x86_64 (64bit 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 (encrypted Library)
| -- Libnetutils (network tool Library)
| -- Libpixelflinger (graphics processing Library)
| -- Libsysutils (System Tool Library)
| -- Libzipfile (zip Library)
| -- Logcat (view log tool)
| -- Logwrapper (log encapsulation tool)
| -- Mkbootimg (create a tool box script to start boot. img)
| -- Netcfg (network configuration netcfg source code)
| -- Nexus (Code of google's latest mobile phone)
| -- Rootdir (rootfs, including scripts and configurations under etc)
| -- Sh (shell code)
| -- Toolbox (toolbox, similar to the tool set of busybox)
| '-- Vold (SD card Manager)
| -- Extras (additional tool)
| -- Latencytop (a tool for software developers, identifying system 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 (Application Library)
| -- AlarmClock (alarm clock)
| -- Bluetooth)
| -- Browser)
| -- Calculator (Calculator)
| -- Calendar)
| -- Camera (Camera)
| -- CertInstaller (install digital signature in Android and called)
| -- Contacts (Dialing (CALL), Contacts, and call records)
| -- Clock (desktop clock)
| -- Email)
| -- Gallery (album, similar to Camera, with more lists)
| -- Gallery3D (? 3D album)
| -- GlobalSearch (providing underlying applications for google Search)
| -- GoogleSearch (google Search)
| -- HTMLViewer (browser-dependent interface called by browser applications, and the storage record function is also provided)
| -- IM (instant messaging, which provides services for sending, receiving, and communicating signals to mobile phones)
| -- Launcher (LOGIN startup Item, display image frame, and other graphical interfaces)
| -- Launcher2 (LOGIN startup Item, responsible for application calls)
| -- Mms (? MMS Service)
| -- Music (Music player)
| -- PackageInstaller (response to program installation and uninstallation)
| -- Phone (dialing program)
| -- Provision (preset application status to enable application)
| -- Settings (boot Settings, including power, Bluetooth, device information, interface, wifi, etc)
| -- SoundRecorder (recorder, which can calculate the storage space and time)
| -- Stk (receive and send SMS messages)
| -- Sync (null) ------- ○ 1
| -- Updater (null)
| '-- VoiceDialer (Voice Recognition call)
| -- Inputmethods (input method)
| -- LatinIME (LatinIME)
| -- OpenWnn (OpenWnn input method)
| '-- PinyinIME (PinYin Input Method)
| -- Providers (provides the data required for applications and interfaces)
| -- ApplicationsProvider (application provider, which provides application startup items and updates)
| -- CalendarProvider (calendar provider)
| -- 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)
| -- UserDictionaryProvider (user dictionary provider, which provides the user's frequently-used word dictionary)
| '-- WebSearchProvider (null)
| -- Services
| -- EasService (null)
| '-- LockAndWipe (null)
'-- Wallpapers (wallpaper)
| -- Basic (Basic wallpaper, built-in wallpaper)
| -- LivePicker (select live wallpaper)
| -- MagicSmoke (Special wallpaper effects)
'-- MusicVisualization (music visualization, graphics change with music)

○ 1 there is a hidden. git folder with 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)
| -- Common-open (common part)
| '-- Akmd (tool used to decompress img)
| -- Dream-open (G1 open part)
| -- Prebuilt-open (pre-compiled open part)
| '-- Sapphire-open (available content of the sapphire Model)
| -- 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 (Added sdk)
'-- Skins (skin)
'-- WVGAMedDpi (applicable images for WVGA)

 

The SDK and OUT directory are not listed.

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.