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.