天天看點

Android 8.0目錄介紹

android的移植按如下流程:

(1)android linux 核心的普通驅動移植,讓核心可以在目标平台上運作起來。

(2)正确挂載檔案系統,確定核心啟動參數和 android 源代碼 system/core/rootdir 目錄下的 init.rc 中的檔案系統挂載正确。

(3)調試控制台,讓核心啟動參數中的 console 參數以及 android 源代碼 system/core/init/init.c 中的console_name 設定和硬體保持一緻

(4)打開 android 相關的驅動(logger,binder 等),序列槽輸入 logcat 看 logger 驅動起來,沒有的話調試logger 驅動。

解決底層問題方法:解除Android系統的耦合l

1 将Dalvik于bionic以及硬體驅動剝離開

2 修改Dalvik以支援标準glibc和GNU/Linux

3 把Dalvik當作普通應用程式

4 Dalvik可被單獨優化和改進

|- art // Android Runtime,一種App運作模式,差別于傳統的Dalvik虛拟機,旨在提高Android系統的流暢性,包括以下幾個目錄。

|- benchmark // 程式測試基準。

|- build // 編譯檔案。

|- cmdline // 指令行工具的初始化與解析。

|- compiler // 編譯套件。

|- dalvikvm // Dalvik虛拟機啟動程式。

|- dex2oat // 檔案dex格式轉換為oat格式的轉換程式。

|- dexdump // 檔案dex格式的内容擷取程式。

|- dexlayout // 檔案dex格式的布局。

|- dexlist // 檔案dex格式的函數擷取程式。

|- dexoptanalyzer //檔案dex格式的分析程式

|- disassembler // 幾種反彙編實作,包括arm64、arm、mips和x86。

|- imgdiag // image診斷程式。

|- libart_fake // 一個虛假的art庫,用于那些企圖連結ark庫的作弊程式。

|- oatdump // 檔案oat格式的内容擷取程式。

|- patchoat // 檔案oat格式的更新檔管理程式。

|- profman // 程式性能分析助手。

|- runtime // art庫實作,主要為C++和彙編檔案。

|- sigchainlib // 信号處理庫。

|- test // 測試程式。

|- tools // 一些工具,包括python和shell腳本。

|- bionic // 基礎C庫源代碼,Android改造的C/C++庫

|- benchmarks // 程式測試基準。

|- build // 編譯檔案。

|- libc // C庫

|- arch-arm // ARM架構,包含系統調用彙編實作

|- arch-arm64 // ARM64架構,包含系統調用彙編實作

|- arch-common // 通用架構,包含系統調用彙編實作

|- arch-mips // mips架構,包含系統調用彙編實作

|- arch-mips64 // mips64架構,包含系統調用彙編實作

|- arch-x86 // x86架構,包含系統調用彙編實作

|- arch-x86_64 // x64架構,包含系統調用彙編實作

|- bionic // 由C實作的功能,架構無關

|- dns // bionic改造的dns服務

|- include // 頭檔案

|- kernel // Linux核心中的一些頭檔案

|- malloc_debug // bionic的動态調整記憶體工具

|- private // 一些私有的頭檔案

|- seccomp // Seccomp(secure computing)是Linux kernel 所支援的一種簡潔的sandboxing機制。它能使一個程序進入到一種“安全”運作模式,該模式下的程序隻能調用4種系統調用(system calls),即read(), write(), exit()和sigreturn(),否則程序便會被終止。

|- stdio // 标準io流實作

|- stdlib // 标準lib庫實作

|- tools // 幾個工具

|- tzcode // 時區相關代碼

|- upstream-freebsd // 上傳流freebsd的庫

|- upstream-netbsd // 上傳流netbsd的庫

|- upstream-openbsd // 上傳流openbsd的庫

|- versioner-dependencies // 系統資訊檢測依賴庫

|- zoneinfo // 時區資訊

|- libdl // libdl實作,dl是動态連結,提供通路動态連結庫的功能

|- libm // libm數學庫的實作

|- arm // arm架構庫

|- arm64 // arm64架構庫

|- i387 // i387架構庫

|- mips // mips架構庫

|- upstream-freebsd // 上傳流freebsd架構庫

|- upstream-netbsd // 上傳流netbsd架構庫

|- x86 // x86架構庫

|- x86_64 // x86_64架構庫

|- libstdc++ // libstdc++ C++實作庫

|- linker // 動态連結器。

|- tests // 測試程式。

|- tools // 一些工具,包括python和shell腳本。

|- bootable // Android程式啟動導引,适合各種bootloader的通用代碼,包括一個recovery目錄。

|- recovery // 系統還原。

|- applypatch // 應用更新檔的應用

|- bootloader_message // bootloader消息顯示應用

|- edify // 更新腳本使用的edify腳本語言

|- etc // 配置檔案

|- fonts // recovery的字型

|- minadbd // recovery的迷你版的adbd

|- minui // recovery的UI

|- otafault // OTA Over The Air Updates更新工具

|- otautil // OTA Over The Air Updates更新工具類

|- private // 私有頭檔案

|- res-560dpi // ui資源檔案

|- res-hdpi // ui資源檔案

|- res-mdpi // ui資源檔案

|- res-xhdpi // ui資源檔案

|- res-xxhdpi // ui資源檔案

|- res-xxxhdpi // ui資源檔案

|- tests // 測試檔案

|- tools // 一些工具類

|- uncrypt // 加密工具

|- update_verifier // 更新器驗證

|- updater // 更新器

|- build // Android編譯系統,包括原有的GNU make/mk和新加入的go/bp,包括以下幾個目錄。

|- blueprint // 編譯系統元件,由go實作,用于讀取類json格式的bp檔案,轉換成Ninja格式。

|- core // 核心元件的編譯規則配置檔案

|- envsetup.sh // 編譯環境的設定腳本

|- kati // 編譯系統元件,用于相容原有的GNU make/mk,對mk檔案進行格式轉換。

|- make // 原有的編譯系統實作,包括makefile、python、shell等。

|- soong // 編譯系統元件,同樣是輔助生成Ninja格式的檔案。

|- target // 目标機編譯對象

|- board // 開發平台

|- generic // 通用

|- generic_arm64 // arm64配置

|- generic_arm64_a // arm64_a配置

|- generic_arm64_ab // arm64_ab配置

|- generic_arm_a // arm_a配置

|- generic_armv5 // armv5配置

|- generic_mips // mips配置

|- generic_mips64 // mips64配置

|- generic_x86 // x86配置

|- generic_x86_64 // x86_64配置

|- generic_x86_arm // x86_arm配置

|- product // 開發平台對應的編譯規則

|- tools // 編譯中主機使用的工具及腳本

|- acp // Android “acp” Command

|- adbs // adb檢查工具

|- apicheck // api檢查工具

|- atree // tree工具

|- droiddoc // 作用不明,java語言,網上有人說和JDK5有關

|- fs_config // This program takes a list of files and directories

|- fs_get_stats // 擷取檔案系統狀态

|- ijar // jar包工具

|- libhost // libhost工具庫

|- makeparallel // gnu連結工具

|- releasetools // release工具

|- signapk // apk簽名工具

|- signtos // 标簽工具

|- zipalign // zip壓縮工具

|- ziptime // zip archive alignment tool

|- cts // Android相容性測試套件标準

|- apps // cts測試所使用的apk源碼

|- build // cts套件的編譯配置

|- common // cts套件的通用代碼

|- development // cts套件相容之前使用eclipse ADT開發apk的腳本

|- hostsidetests // cts套件新增host測試項

|- libs // cts套件使用的第三方庫

|- suite // cts套件

|- tests // cts套件進行的測試項

|- tools // cts套件使用的測試工具源碼

|- dalvik // Android Dalvik虛拟機相關内容

|- dexdump // dex反彙編

|- dexgen // 使用gradle工具編譯dex檔案的解析工具

|- docs // Dalvik虛拟機文檔

|- dx // dx工具,将多個java轉換為dex

|- libdex // dex的庫

|- opcode-gen // gen的源代碼

|- tools // Dalvik虛拟機工具代碼

|- developers // Android開發者參考文檔,包括以下幾個目錄。

|- build // gradle編譯系統。

|- demos // 使用了gradle的例子。

|- samples // Android SDK中的例子。

|- development // Android開發基礎設施,包括以下幾個目錄。

|- apps // 谷歌提供的一些核心應用程式

|- BluetoothDebug // 藍牙調試程式

|- BuildWidget // 小部件搭建

|- CustomLocale // 自定義區域設定

|- Development // 開發

|- DevelopmentSettings // 開發設定

|- Fallback // 回調

|- GestureBuilder // 手勢動作

|- launchperf // 性能測試

|- NinePatchLab // 點九圖檔相關

|- OBJViewer // OBJ檢視器

|- PushApiAuthenticator // PushApi驗證

|- PushApiTestAppOne // PushApi測試apk

|- PushApiTestAppTwo // PushApi測試apk

|- SdkSetup // SDK安裝器

|- SettingInjectorSample // 進階設定

|- WidgetPreview // 預覽小部件

|- build // 編譯檔案,包括打包用的atree檔案。

|- cmds // 工具monkey。

|- docs // 說明文檔。

|- host // 主機端USB驅動

|- ide // 內建開發環境,包括eclipse、emacs和intellij。

|- libraries // lib庫。

|- ndk // 本地開發套件——c語言開發套件

|- python-packages // python工具包,包括adb、fastboot和gdbrunner。

|- samples // 示例代碼。

|- AccelerometerPlay // 展示加速計用法App

|- AdaptiveIconSample // 自适應圖示App

|- Alarm // 緊急報警App

|- AliasActivity // 應用程式命别名App

|- AndroidBeamDemo // Android光束示例App

|- ApiDemosAPI // 示範程式

|- AppNavigation // 導航

|- BackupRestore // 備份

|- BasicGLSurfaceView // 基礎GL界面展示

|- BluetoothChat // 藍牙聊天

|- BluetoothHDP // 藍牙傳輸

|- BluetoothLeGatt // 藍牙4.0子產品

|- BrokenKeyDerivation //

|- browseable // 浏覽

|- BusinessCard // 車卡

|- Compass // 指南針

|- ContactManager // 聯系人管理器

|- ControllerSample // 管理者示例

|- CrossCompatibility // 跨平台相容

|- CubeLiveWallpaper // 動态桌面的一個簡單例程

|- DataWiper // 資料擦除

|- devbytes // 二進制讀取

|- FixedGridLayout // 自動布局

|- HeavyWeight // 超重

|- HelloActivity // Hello

|- HelloEffects // Hello接收

|- Home // 家

|- HoneycombGallery // 動态圖

|- JetBoy // jetBoy遊戲

|- KeyChainDemo // 密碼管理

|- LceDemo // 天線裝置參數示例

|- LunarLander // LunarLander遊戲

|- MultiResolution // 多任務處理應用

|- MultiWindow // 分屏應用

|- MySampleRss // RSS

|- NotePad // 記事本

|- Obb // 安卓遊戲通用資料包示例

|- OpenGL // 圖像庫示例

|- RandomMusicPlayer // 音樂播放器

|- ReceiveShareDemo // 接收分享示例

|- RenderScript // 提升輪廓提取速度示例

|- RSSReader // RSS閱讀器

|- samples_source.prop_template //

|- SampleSyncAdapter // 更新接口

|- SearchableDictionary // 目錄搜尋

|- ShortcutDemo // 小圖示

|- ShortcutSample // 小圖示示例

|- SimpleJNI // JNI例程

|- SipDemo // 支援會話發起協定(SIP)應用示例

|- SkeletonApp // 空殼APP

|- Snake // snake程式

|- SoftKeyboard // 軟鍵盤

|- SpellChecker // 拼寫檢查

|- Spinner // Spinner控件

|- SpinnerTest // Spinner控件測試

|- StackWidget // 小部件堆疊示例

|- TicTacToeLib // 多庫示例

|- TicTacToeMain // 主庫示例

|- ToyVpn // vpn示例

|- training // 訓練

|- TtsEngine // 文字語音轉換(TTS)引擎

|- UiAutomator // ui自動測試

|- USB // usb使用

|- Vault // 缺陷控制

|- VoicemailProviderDemo // 讀郵件應用示例

|- VoiceRecognitionService // 語音識别

|- WeatherListWidget // 天氣小部件

|- WiFiDirectDemo // WIFI直連

|- WiFiDirectServiceDiscovery // WiFi直連服務發現

|- Wiktionary // 維基百科

|- WiktionarySimple // 維基百科示例

|- XmlAdapters // xml接口應用

|- scripts // python、shell腳本。

|- sdk // sdk配置

|- sdk_overlay // sdk配置覆寫

|- sys-img // 系統鏡像資訊。

|- testrunner // 測試程式啟動腳本。

|- tools // 一些常用的工具,如make_key等 。

|- tutorials // 教程。

|- vndk // 供應商本地開發工具包

|- device // Android支援的各種裝置及相關配置,結構相似,包括以下幾個目錄。

|- asus // 華碩

|- common // 裝置間共有的配置。

|- generic // 不同的CPU架構,包括arm、goldfish、emulator、mips、x86等。

|- google // 谷歌

|- huawei // 華為

|- lge // LG

|- linaro // Linario

|- sample // 例子

|- docs // Android系統介紹,包括一個source.android.com目錄。

|- source.android.com // AOSP,Android Open Source Project。

|- external // Android中使用的外部開源庫,包括以下幾個目錄。

|- aac // Advanced Audio Coding,進階音頻編碼。

|- abi-compliance-checker // ABI相容性分析工具。

|- abi-dumper // ABI資料解析工具。

|- android-clat // Android中用NAT64/DNS64支援IPv4的程式運作于IPv6的網絡。

|- androidplot // Android中用以建立動态的或靜态的圖表。

|- ant-glob // ANT模式比對工具。

|- antlr // Language Recognition,一款文法分析器,可根據輸入自動生成文法樹并顯示出來。

|- apache-commons-math // Apache數學庫。

|- apache-harmony // Apache Java SE運作時類庫及一些工具。

|- apache-http // Apache HTTP服務。

|- apache-xml // Apache XML解決方案。

|- archive-patcher // 更新檔管理庫

|- arm-neon-tests/ // arm基于NEON指令的數學庫

|- autotest // 自動測試架構,Python實作,起初用于Linux Kernel,後擴充到Chrome OS和Android。

|- avahi // Zeroconf規範的一種實作,可以在本地網絡中釋出和獲知各種服務和主機。

|- avb // Ethernet Audio/Video Bridging,以太網音視訊橋接技術。

|- bison // 文法分析器生成器。

|- blktrace // 收集磁盤IO資訊中當IO進行到塊裝置層即block裝置時的詳細資訊。

|- boringssl // BoringSSL為OpenSSL的一個分支,優化了一些加密算法。

|- bouncycastle // 加解密包。

|- bsdiff // 二進制增量分析工具,生成新、舊版本的一個patch,用以舊版本增量更新到新版本。

|- bzip2 // 基于Burrows-Wheeler算法的無損壓縮技術。

|- c-ares // DNS請求異步處理庫。

|- caliper // 基準測量工具。

|- cblas // C interface to Legacy BLAS。

|- chromium-libpac // 基于proxy_resolver_v8。

|- chromium-trace // 以HTML的形式顯示資料使用情況。

|- chromium-webview // Webview。

|- clang // 編譯器。

|- cmockery // 用于C程式的單元測試。

|- compiler-rt // Compiler Routine。

|- conscrypt // A Java Security Provider。

|- crcalc // Constructive Real Calculator。

|- cros // 一些常量和定義,隻有一些頭檔案和proto檔案。

|- curl // 檔案傳輸。

|- dagger2 // A fast dependency injector for Android and Java。

|- dbus // 資料總線,是一個低延遲,低開銷,高可用性的ipc機制

|- dbus-binding-generator // dbus bind。

|- deqp // GPU測試架構。

|- dexmaker // dex maker。

|- dhcpcd-6.8.2 // DHCP client daemon。

|- dlmalloc // malloc/free routines implemented by Doug Lea。

|- dng_sdk // DNG檔案讀寫庫。

|- dnsmasq // 配置DNS和DHCP的工具。

|- doclava // Javadoc工具。

|- drm_gralloc // gralloc for drm,Direct Rendering Manager。

|- drm_hwcomposer // hwcompositor for drm。

|- droiddriver // Android UI testing library。

|- dtc // Device Tree Compiler。

|- e2fsprogs // 檔案系統工具集。

|- easymock // 單元測試模拟架構。

|- eclipse-basebuilder // eclipe插件編譯相關。

|- eclipse-windowbuilder // eclipse編譯相關。

|- eigen // 用于線性代數的C++模闆庫。

|- elfutils // ELF

|- emma // 單元測試覆寫率統計。

|- esd // 音頻相關。

|- expat // XML解析。

|- eyes-free // 語音互動。

|- f2fs-tools // Flash Friendly File System。

|- fdlibm // Freely Distributed LIBM,數學庫。

|- fec // Forward error correction。

|- fio / io測試工具。

|- flac // Free Lossless Audio Codec。

|- flatbuffers //

|- fmtlib // format。

|- fonttools // 字型處理工具。

|- freetype // 字型引擎。

|- fsck_msdos // 檔案系統檢查工具。

|- gemmlowp // low-precision for general matrix multiplication。

|- giflib // gif圖檔庫。

|- glide // media管理架構。

|- google-benchmark // 支援benchmark的庫,類似于單元測試。

|- google-breakpad // crash報告系統,包括client、server。

|- google-fonts // 字型。

|- googletest // C++ test framework。

|- google-tv-pairing-protocol // tv配對協定。

|- gptfdisk // 文本模式的磁盤分區工具。

|- guava // Google Core Libraries for Java。

|- guice // 依賴注入架構。

|- hamcrest // 用于測試的可以合成各種表達式的比對器類庫。

|- harfbuzz_ng // 字型排版引擎。

|- hyphenation-patterns // 各種語言的字型連接配接模式。

|- icu // Unicode元件。

|- ImageMagick // bitmap圖檔管理,支援多種格式。

|- ims // IP Multi-media System,包括rcs融合通信。

|- iproute2 // 網絡配置工具包。

|- ipsec-tools // 加密的ip協定工具包。

|- iptables // IP資訊包過濾系統。

|- iputils // 網絡工具包。

|- iw // Netlink 802.11。

|- jacoco // 測試覆寫率工具。

|- jarjar // Java包管理工具。

|- javasqlite // sqlite

|- javassist // Java位元組碼編輯。

|- jcommander // 參數解析。

|- jdiff // Java代碼比較工具。

|- jemalloc // 更好的記憶體管理工具,解決記憶體碎片問題。

|- jetty // servlet容器。

|- jline // 處理控制台輸入。

|- jmdns // 多點傳播DNS實作,可在本地區域網路中發現和注冊服務。

|- jsilver // HTML模闆系統。

|- jsmn // JSON解析。

|- jsoncpp // C++處理JSON,序列化和反序列化。

|- jsr305 // Java Specification Request。

|- jsr330 // Java Specification Request。

|- junit // Java單元測試架構。

|- junit-params // jnit更新版,添加了更好用的參數化測試。

|- kernel-headers // Kernel級别頭檔案。

|- ksoap2 // 通路Web Service。

|- libavc // 流媒體

|- libbrillo //

|- libcap //

|- libcap-ng //

|- libchrome //

|- libconstrainedcrypto //

|- libcups //

|- libcxx //

|- libcxxabi //

|- libdaemon //

|- libdivsufsort //

|- libdrm //

|- libedit //

|- libese //

|- libevent //

|- libexif //

|- libgsm //

|- libhevc //

|- libjpeg-turbo //

|- libldac //

|- liblzf //

|- libmicrohttpd //

|- libmojo //

|- libmpeg2 //

|- libmtp //

|- libnetfilter_conntrack //

|- libnfnetlink //

|- libnl //

|- libogg //

|- libopus //

|- libpcap // 網絡資料包捕獲函數

|- libphonenumber //

|- libpng // png庫

|- libtextclassifier //

|- libunwind //

|- libunwind_llvm //

|- libusb //

|- libusb-compat //

|- libutf //

|- libvncserver //

|- libvorbis //

|- libvpx //

|- libvterm //

|- libxml2 //

|- libyuv //

|- linux-kselftest // linux test。

|- littlemock // mock架構。

|- lld // LLVM linker。

|- llvm // Low Level Virtual Machine。

|- ltp // Linux Test Project。

|- lz4 // 快速的無損壓縮算法。

|- lzma // 壓縮。

|- markdown // Markdown,一種标記語言。

|- mdnsresponder // Appple Bonjour元件,友善IP網絡配置。

|- mesa3d // 三維計算機圖形庫。

|- messageformat // International Components for Unicode for Java。

|- Microsoft-GSL // Guideline Support Library。

|- minijail // 沙盒,運作不信任的程式。

|- mksh // MirBSD Korn Shell。

|- mmc-utils // mmc卡管理。

|- mockftpserver // 模拟FTP服務以進行FTP用戶端測試。

|- mockito // 測試架構。

|- mockwebserver // 測試架構。

|- modp_b64 // base64編碼、解碼。

|- mp4parser // mp4解析。

|- mtpd // Media Transfer Protocol。

|- nanohttpd // HTTP Server,用于嵌入其它的程式。

|- nanopb-c // ANSI-C實作的Protocol Buffer。

|- naver-fonts // 字型。

|- netcat // 網絡使用檢視工具。

|- netperf // 網絡性能測試。

|- neven // 人臉識别算法。

|- nfacct // 流量統計。

|- nist-pkits // NIST PKI Test Suite。

|- nist-sip // nist實作的sip協定,ip電話。

|- noto-fonts // 漢語、日語、韓語字型。

|- oauth // 關于授權的開放網絡标準。

|- objenesis // Java對象執行個體化庫。

|- okhttp // HTTP&SPDY Client。

|- opencv // 計算機視覺庫。

|- opencv3 // 計算機視覺庫。

|- owasp // Web Application。

|- parameter-framework // system-wide parameter management。

|- pcre // Perl相容的正規表達式庫。

|- pdfium // PDF渲染引擎。

|- piex // Preview Image Extractor。

|- ppp // Point to Point Protocol,鍊路層協定。

|- proguard // Java class file shrinker, optimizer, obfuscator and preverifier.

|- protobuf // 資料互動格式。

|- regex-re2 // 正規表達式庫。

|- replicaisland // A side scrolling video game for Android。

|- rmi4utils // Remote Method Invoke。

|- robolectric // 黑盒測試。

|- roboto-fonts // roboto font。

|- rootdev // Chromium OS version of rootdev。

|- safe-iop // safe integer operation。

|- scrypt // 加密相關。

|- seccomp-tests // Seccomp-BPF Kernel Self-Test Suite。

|- selinux // Secure Linux。

|- sfntly // 字型庫。

|- shflags // shell script。

|- skia // 2D圖形庫。

|- sl4a // Scripting Layer for Android。

|- slf4j // Simple Logging Facade for Java。

|- smali // Dalvik虛拟機的dex格式的彙編與反彙編。

|- snakeyaml // 用于Java虛拟機的YAML檔案解析器。

|- sonic // 語音開發庫。

|- sonivox // 語音開發庫。

|- speex // 語音開發庫。

|- spirv-llvm // Khronos LLVM-SPIRV圖形渲染語言格式轉換。

|- sqlite // sqlite。

|- squashfs-tools // 隻讀的高壓縮的檔案系統。

|- strace // system call tracer。

|- stressapptest/

|- svox // 語音庫。

|- swiftshader/

|- syslinux/

|- tagsoup // SAX解析。

|- tcpdump // 網絡監聽。

|- testng // 實機測試及資料收集。

|- timezonepicker-support // Time Zone。

|- tinyalsa // ALSA處理。

|- tinycompress // 用于ALSA格式的讀取,如mp3。

|- tinyxml // XML解析工具,C++實作。

|- tinyxml2 // XML解析。

|- tlsdate // 時間更新服務,TCP實作。

|- toybox // 指令行工具包。

|- tpm2 // Trusted Platform Module。

|- tremolo // ogg音頻解壓。

|- unicode // Unicode。

|- universal-tween-engine // Java對象插值。

|- v8 // JavaScript引擎,C++實作。

|- valgrind // 記憶體、性能分析工具。

|- vboot_reference // Chrome OS verified boot in firmware。

|- vixl // ARMv8 Runtime Code Generation Library。

|- vogar // vogar.

|- volley/

|- vulkan-validation-layers // Vulkan元件,包括ICD Loader和Validation Layer。

|- webp // 處理WebP格式的圖檔。

|- webrtc // 支援浏覽器、移動App的Real-time Communication。

|- wpa_supplicant_8 // WIFI Protected Access。

|- wycheproof/

|- x264/

|- xmlrpcpp // XmlRpc協定的C++實作。

|- xmlwriter // xml進行寫入庫

|- xmp_toolkit // xmp

|- zlib // 使用了DEFLATE算法的資料壓縮庫。

|- zopfli // C庫,一種壓縮算法。

|- zxing // Java庫,用于識别1D/2D條形碼。

|- frameworks // Android基礎架構。

|- av // 多媒體架構

|- camera // 多媒體的相機相關部分

|- cmds // 指令源碼

|- drm // 資料保護

|- include // 頭檔案

|- media // 多媒體部分

|- radio // 無線射頻部分

|- services // 服務部分

|- soundtrigger // 語音識别架構

|- tools // 工具包

|- base // base,包括以下幾個目錄。

|- apct-tests // 性能優化測試

|- api // java的api接口,修改了接口檔案請及時更新此目錄下的檔案(make update-api)

|- cmds // 重要指令:am、app_proce等的源碼

|- core // framework層核心庫

|- java // java庫

|- jni // jni層

|- proto // 協定層

|- res // 資源檔案

|- tests // 測試工具

|- data // 字型和聲音等資料檔案

|- docs // 文檔

|- drm // 資料保護

|- graphics // 圖形相關

|- keystore // 和資料簽名證書相關

|- legacy-test // 安全相關測試

|- libs // lib庫

|- androidfw // fw功能庫

|- common_time // 常用功能和工具集合,緩存,包括圖檔緩存、預取緩存、網絡緩存;公共 View,即功能封裝好的部件,包括下拉獲得最新和上拉加載更多 ListView、底部加載更多 ScrollView、滑動一頁 Gallery 等等。;常用工具類,包括網絡、下載下傳、資源操作、Shell、檔案讀寫、Json、序列化/反序列化、随機數、集合(Array、List、Map)、APK 包等等。

|- hwui // 硬體渲染庫

|- incident // 事件驅動機制庫

|- input // 輸入庫

|- services // 服務庫

|- storage // 存儲庫

|- usb // USB庫

|- location // 定位功能

|- media // 媒體相關庫

|- native // native架構

|- nfc-extras // nfc額外架構

|- obex // 藍牙傳輸庫

|- opengl // 2D-3D加速庫

|- packages // 設定、TTS、VPN程式

|- proto // 協定架構

|- rs // 資源架構

|- samples // 例子程式

|- sax // XML解析器

|- services // 各種服務程式

|- telecomm // Telecom通信架構

|- telephony // 電話通訊架構

|- test-runner // 測試工具相關

|- tests // 各種測試

|- tools // 工具

|- vr // 虛拟現實相關

|- wifi // 無線

|- compile // 編譯相關

|- libbcc // 用于Linux性能監視的動态跟蹤工具的庫

|- bcinfo // 擷取硬體裝置資訊庫

|- gdb_plugin // gdb插件

|- include // 頭檔案

|- lib // 庫檔案

|- tests // 測試程式

|- tools // 測試工具

|- mclinker // MCLinker連結器

|- include // 頭檔案

|- lib // 庫檔案

|- templates // 模闆

|- tools // 工具

|- unittests // 單元測試工具

|- slang // 異常架構

|- data-binding // 資料綁定。

|- ex // ex檔案解析器

|- camera2 // 相機相關

|- common // 共有的

|- framesequence // GIF圖檔工具包

|- photoviewer // 圖檔預覽

|- widget // 小部件

|- hardware // 硬體适配接口

|- interfaces // 接口檔案

|- current.txt // 接口記錄檔案

|- displayservice // 顯示服務

|- schedulerservice // JobScheduler主要用于在未來某個時間下滿足一定條件時觸發執行某項任務的情況

|- sensorservice // 傳感器服務

|- update-makefiles.sh // 更新makefile檔案腳本

|- vr // 虛拟現實硬體接口

|- minikin // Android原生字型,連體字效果

|- ml // 機器學習

|- bordeaux //

|- learning // 學習算法

|- service // 服務

|- multidex // Multi-dex Loader。

|- native // native實作

|- aidl // aidl層,Android 接口定義語言

|- build // 編譯配置

|- cmds // 指令行

|- data // 資料檔案

|- docs // 文檔

|- include // 頭檔案

|- libs // 庫

|- arect // 圖形庫

|- binder // binder通信庫

|- diskusage // 硬碟讀取庫

|- gui // ui顯示庫

|- hwc2on1adapter //

|- input // 輸入庫

|- math // 數學庫

|- nativewindow // native視窗庫

|- sensor // 傳感器庫

|- ui // ui庫

|- vr // 虛拟現實庫

|- opengl // 2D-3D接口架構

|- services // 服務

|- audiomanager // 音頻服務

|- batteryservice // 電源服務

|- displayservice // 顯示服務

|- inputflinger // 輸入架構服務

|- nativeperms // 屬性服務

|- powermanager // 電池管理

|- schedulerservice //事件消息服務

|- sensorservice // 傳感器服務

|- surfaceflinger // 顯示服務

|- vr // 虛拟現實服務

|- vulcan // 隐式架構

|- opt // 一些軟體。

|- bitmap // 二進制圖

|- bluetooth // 藍牙

|- calendar // 月曆

|- chips // 晶片工具

|- colorpicker // 色彩拾取工具

|- datetimepicker // 時間選擇工具

|- emoji // standard message elements 表情

|- inputconnectioncommon // 輸入連接配接工具

|- inputmethodcommon // 輸入方法工具

|- net // 網絡相關工具

|- ethernet // 有線網絡

|- ims // ims

|- voip // 資料網絡

|- wifi // 無線網絡

|- photoviewer // 照片預覽工具

|- setupwizard // 開機向導工具

|- telephony // 通信工具

|- timezonepicker // 時區工具

|- vcard // 晶片卡片工具

|- rs // Render Script,可建立3D接口。

|- support // framework支援檔案

|- webview // webview framework層的接口

|- wilhelm // Wilhelm,基于Khronos的OpenSL ES/OpenMAX AL的audio/multimedia實作。

|- hardware // HAL層,包括以下幾個目錄。

|- akm // AK8975傳感器,包括SensorControl和HAL層的libsensors。

|- broadcom // Boradcom,包括libbt和wlan。

|- google // Google,包括Android Packet Filter。

|- intel // Intel,包括audio、media、bootstub、img、sensor等。

|- interfaces // HAL接口

|- audio // 音頻

|- automotive // 車載

|- benchmarks // 标準庫

|- bluetooth // 藍牙

|- boot // 核心

|- broadcastradio // 無線廣播

|- camera // 相機

|- configstore // 配置

|- contexthub // 資料共享

|- drm // 資料保護

|- dumpstate //

|- gatekeeper // 安全技術,由蘋果開發

|- gnss // GNSS信号模拟器

|- graphics // 圖像顯示

|- health // 心跳計數

|- ir //

|- keymaster // 秘鑰鍊

|- light // 背光

|- media // 多媒體

|- memtrack //

|- nfc // 短距程序通信

|- power // 電源

|- radio // 射頻

|- renderscript //

|- sensors // 傳感器

|- soundtrigger //

|- tests // 測試

|- thermal // 終端

|- tv // 電視

|- usb // usb

|- vibrator // 震動

|- vr // 虛拟

|- wifi // 無線

|- invensense // InvenSense傳感。

|- libhardware // 硬體庫

|- include // 頭檔案

|- modules //子產品

|- audio // 音頻

|- audio_remote_submix // 音頻

|- camera // 相機

|- consumerir // 紅外的脈沖序列

|- fingerprint // 指紋

|- gralloc // Gralloc子產品,封裝了對幀緩沖區的所有通路操作

|- hwcomposer // 視訊渲染

|- input // 輸入

|- local_time // 本地時鐘

|- nfc // 短程通信

|- nfc-nci // 短程通信

|- power // 電源

|- radio // 射頻

|- sensors // 傳感器

|- soundtrigger // 音頻觸發

|- thermal // 終端

|- tv_input // 電視輸入

|- usbaudio // usb音頻

|- usbcamera // usb相機

|- vehicle // 車載

|- vibrator // 震動

|- vr // 虛拟

|- tests // 測試

|- libhardware_legacy // hardware legacy

|- audio // 音頻

|- include // 頭檔案

|- power.c // 電源

|- uevent.c // 事件

|- marvell // Marvell,包括bt。

|- qcom // Qualcomm,包括audio、wlan等。

|- ril // Radio Interface Layer。

|- kernel // Linux Kernel,不過Android預設不提供,需要單獨下載下傳,隻有一個tests目錄。

|- tests // net測試。

|- libcore // Android Java核心類庫

|- benchmarks // 标準庫

|- dalvik // dalvik虛拟機

|- dom // dom解析

|- expectations //

|- harmony-tests //

|- include // 頭檔案

|- json // json庫

|- jsr166-tests // JSR是指向JCP提出新增标準化技術規範的正式請求,以向Java平台增添新的API和服務。 JSR-166主要是關于J.U.C的技術規範(jdk5)

|- libart // art虛拟機庫

|- luni // jdk API

|- ojluni // openjdk API

|- support // 支援

|- test-rules // 測試規則

|- tools // 工具

|- tzdata // 時區解析

|- xml // xml解析

|- libnativehelper // Android Java類庫的native實作助手。

|- include // 頭檔案

|- platform_include // 平台頭檔案

|- tests // 測試程式。

|- Makefile // 全局的Makefile

|- out // 編譯産生的目錄

|- CaseCheck.txt

|- casecheck.txt

|- host // 在主機PC host上使用的工具,包括二進制程式以及JAVA的程式)

|- common

|- obj // JAVA 庫

|- linux-x86

|- bin // 二進制程式

|- framework // JAVA 庫,*.jar 檔案

|- lib // 共享庫*.so

|- obj // 中間生成的目标檔案

|- target // 在目标機(如ARMv5)上運作的内容

|- common // common表示通用的内容

| |- R // 資源檔案

| |- docs

|- obj // 目标檔案,APPS中包含了打成APK包的JAVA應用程式, JAVA_LIBRARIES中包含了JAVA的庫

|- product // product 中則是針對産品的内容

|- generic

|- android-info.txt

|- clean_steps.mk

|- symbols

|- obj // obj/APPS目錄中包含了各種打成了APK包的JAVA應用,obj/SHARED_LIBRARIES中存放所有動态庫,obj/STATIC_LIBRARIES中存放所有靜态庫

|- root/

|- ramdisk.img // 對應于root/目錄,挂載在/

|- system/

|- system.img // 挂載在system/目錄,包括了主要系統apps,priv-apps

|- data/

|- userdata.img // 挂載在data/目錄,使用者資料

|- userdata-qemu.img

|- packages // Android Package,包括以下幾個目錄。

|- apps // 各種app。

|- BasicSmsReceiver // 基礎短信接收

|- Bluetooth // 藍牙

|- Browser2 // 浏覽器

|- Calendar // 月曆

|- Camera2 // 相機

|- Car // 車載

|- CarrierConfig // 營運商配置

|- CellBroadcastReceiver // 小區廣播服務

|- CertInstaller // 在Android中安裝數字簽名,被調用

|- Contacts // 聯系人

|- DeskClock // 桌面時鐘

|- DevCamera // 相機

|- Dialer // 撥号盤

|- DocumentsUI // 下載下傳

|- Email // 郵件

|- EmergencyInfo // 工程資訊

|- ExactCalculator // 電腦

|- Gallery // 圖庫

|- Gallery2 // 圖庫

|- HTMLViewer // HTML閱讀器

|- KeyChain // 秘鑰鍊

|- Launcher2 // 桌面啟動器

|- Launcher3 // 桌面啟動器

|- LegacyCamera // 安全相機

|- ManagedProvisioning //

|- Messaging // 短信

|- Music // 音樂

|- MusicFX // MusicFX是一款系統專用的音頻控制台

|- Nfc // 短程通信

|- OneTimeInitializer // 谷歌服務架構

|- PackageInstaller // 安裝

|- Phone // 電話

|- PhoneCommon // 電話

|- Protips // 主螢幕提示

|- Provision // 預設應用的狀态,使能應用

|- QuickSearchBox // 搜尋框

|- RetailDemo //

|- SafetyRegulatoryInfo // 安全監管

|- Settings // 設定

|- SoundRecorder // 錄音

|- SpareParts // 進階設定

|- SpeechRecorder // 錄音機

|- Stk // SIM卡智能工具包

|- StorageManager // 存儲管理

|- Tag // 标簽

|- Terminal // 終端

|- Test // 測試

|- TV // 電視

|- TvSettings // 電視設定

|- UnifiedEmail // 未定義郵件

|- WallpaperPicker // 桌面

|- experiment // 非release/public的測試程式。

|- BugReportSender // bug上傳測試

|- Bummer // 懶漢測試

|- CameraPreviewTest // 相機預覽測試

|- DreamTheater //

|- ExampleImsFramework // ims架構測試

|- FilledApp // apk上限測試

|- FillService // 服務上限測試

|- InstantCookieApp // 小程式

|- LoaderApp // 加載apk

|- MultiPackageApk // 安卓多管道打包工具

|- NotificationListenerSample // 消息監聽測試

|- NotificationLog // 消息log測試

|- NotificationShowcase // 消息展示測試

|- PermissionApp // 權限測試

|- PrintApp // 列印測試

|- PrintService // 列印服務測試

|- procstatlog //

|- RpcPerformance // 遠端過程調用測試

|- StrictModeTest // StrictMode最常用來捕捉應用程式的主線程,它将報告與線程及虛拟機相關的政策違例

|- TestBack // 回測

|- inputmethods // 輸入法,包括LatinIME和OpenWnn。

|- LatinIME // 拉丁文輸入法

|- OpenWnn // OpenWnn輸入法

|- providers // 各種provider。

|- ApplicationsProvider // 應用程式提供器,提供應用程式啟動項、更新等

|- BlockedNumberProvider // 黑名單電話提供器

|- BookmarkProvider // 書簽提供器

|- CalendarProvider // 月曆提供器

|- CallLogProvider // 通話記錄提供器

|- ContactsProvider // 聯系人提供器

|- DownloadProvider // 下載下傳管理提供器

|- MediaProvider // 媒體提供器,提供存儲資料

|- PartnerBookmarksProvider // 浏覽器書簽提供器

|- TelephonyProvider // 彩信提供器

|- TvProvider // 電視提供器

|- UserDictionaryProvider // 使用者字典提供器,提供使用者常用字字典

|- screensavers // 屏保

|- Basic // 預設屏保應用

|- PhotoTable // 照片屏保應用

|- WebView // 網絡屏保應用

|- services // 各種service。

|- BuiltInPrintService // 預覽列印服務

|- Car // 車載服務

|- Mms // 短信服務

|- NetworkRecommendation // 網絡建議

|- Telecomm // Telecom通信服務

|- Telephony // Telephony通話服務

|- wallpapers // 桌面

|- LivePicker // 動态桌面

|- pdk // Android Platform Development Kit,包括以下幾個目錄。

|- apps // 平台測試應用

|- HelloPDK // 平台測試示例

|- TestingCamera // 相機測試

|- TestingCamera2 // 相機測試

|- build // 編譯配置

|- util // 工具包

|- platform_testing // Android平台測試程式,包括以下幾個目錄。

|- build // 平台測試

|- libraries // lib庫

|- scripts // 腳本

|- tests // 測試

|- utils // 工具包

|- prebuilts // Android預編譯目錄,包括以下幾個目錄。

|- abi-dumps // applicationbinary interface,應用程式二進制接口的記憶體鏡像調試工具

|- android-emulator // Android模拟器,由external/qemu/android/scripts/package-release.sh生成。

|- build-tools // Ninja編譯系統的輔助工具。

|- checkcolor // 色彩規範檢查

|- checkstyle // Java編碼規範檢查。

|- clang // c/c++/object-c代碼編譯器。

|- deqp // Draw Elements Quality Program,适用于OpenGL ES/OpenCL的GPU應用分析。

|- devtools // 開發工具,如常見的adt、android、ddms、lint等。

|- eclipse // eclipse。

|- gcc // gcc。

|- gdb // gdb。

|- go // go。

|- gradle-plugin // gradle插件。

|- libs // libedit,這是NetBSD Editline庫(libedit)的自動工具和libtoolized端口。 這個Berkeley風格的授權指令行編輯器庫提供了通用的行編輯,曆史記錄和标記化功能,與GNU Readline中的類似。。

|- maven_repo // maven。

|- misc // 宏指令系統。

|- ndk // ndk。

|- python // python。

|- qemu-kernel // qemu 核心,QEMU是一套由法布裡斯·貝拉(Fabrice Bellard)所編寫的以GPL許可證分發源碼的模拟處理器,在GNU/Linux平台上使用廣泛。Bochs,PearPC等與其類似,但不具備其許多特性,比如高速度及跨平台的特性,通過KQEMU這個閉源的加速器,QEMU能模拟至接近真實電腦的速度。

|- sdk // 開發包。

|- tools // 工具。

|- sdk // Android的Java層SDK,包括以下幾個目錄。

|- annotations // 注釋源碼

|- apkbuilder // apk打包工具源碼

|- apps // sdk自帶的應用

|- DeviceConfig // 裝置配置

|- NotificationStudio // 消息提示

|- SdkController // sdk管控

|- attribute_stats // 屬性狀态

|- avdlauncher // 模拟器啟動

|- bash_completion // bash工具

|- build // sdk編譯配置

|- docs // 文檔

|- dumpeventlog // 事件記錄log

|- eclipse // eclipse開發sdk配置

|- emulator // 模拟器源碼

|- eventanalyzer // 事件分析

|- files // 檔案

|- find_java // java檔案查找

|- find_java2 // class檔案查找

|- find_lock // 鎖查找

|- hierarchyviewer // hierarchyviewer工具源碼

|- icons //

|- sdklauncher // sdk加載源碼

|- settings // sdk設定源碼

|- templates // 模闆

|- testapps // 測試應用

|- system // Android系統設施,包括以下幾個目錄。

|- bt // 藍牙相關

|- ca-certificates // 證書頒發機構

|- chre // 校驗讀出

|- connectivity // WIFI,包括wificond和wifilogd兩個daemon。

|- wificond // WIFI配置

|- wifilogd // WIFI 的log系統

|- core // 系統核心工具盒接口。

|- adb // adb調試工具

|- adf // ADF file format解析庫

|- base // 通用基礎庫

|- bootstat // 記錄啟動狀态工具庫

|- cpio // cpio工具,建立img

|- debuggerd // 調試工具

|- demangle // 還原庫

|- fastboot // 快速啟動相關

|- fingerprintd // 指紋庫

|- fs_mgr // 磁盤引導頭

|- gatekeeperd // 鎖屏密碼服務系統接口

|- healthd // healthd是android4.4之後提出來的一種中介模型,該模型向下監聽來自底層的電池事件,向上傳遞電池資料資訊給framework層的batteryservice用以計算電池電量相關狀态資訊,batteryservice通過傳遞來的資料來計算電池電量顯示,剩餘電量,電量級别等資訊

|- include // 系統接口頭檔案

|- init // init程式源代碼

|- libappfuse // AppFuse是一個內建了衆多目前最流行開源架構與工具(包括Hibernate、ibatis、Struts、Spring、DBUnit、Maven、Log4J、Struts Menu、Xdoclet、SiteMesh、OSCache、JUnit、JSTL等(現在還有lucene的,無敵了))于一身的Web開發架構。AppFuse提供了Web系統開發過程中都需要開發的一些功能,如登陸、使用者密碼加密,使用者管理、根據不同的使用者可以展現不同的菜單.J2EE開發者也可以在此基礎上開發加入自己的功能子產品。利用這個架構可以大幅度的提高開發速度

|- libbacktrace // 程序堆棧庫

|- libbinderwrapper // binder底層庫

|- libcrypto_utils // 加密庫

|- libcutils // 網絡工具庫

|- libdiskconfig // 磁盤配置庫

|- libgrallocusage // 顯示系統庫

|- libion // ION是Google的下一代記憶體管理器,用來支援不同的記憶體配置設定機制,如CARVOUT(PMEM),實體連續記憶體(kmalloc), 虛拟位址連續但實體不連續記憶體(vmalloc), IOMMU等

|- liblog // log庫

|- libmemtrack // 記憶體堆棧庫

|- libmemunreachable //

|- libmetricslogger //

|- libnativebridge // native層庫

|- libnativeloader // native加載庫

|- libnetutils // 網絡工具包庫

|- libpackagelistparser //包解析庫

|- libpixelflinger // Pixelflinger是Android系統中為OpenGLES引擎提供的一套軟體渲染器(renderer)。OpenGLES引擎提供了一系列基礎繪圖功能。這些功能包括定義各種顔色格式像素位置、畫點畫線、繪制矩形及三角形、填充紋理等等。由于OpenGLES相當于一個狀态機,配置OpenGLEs狀态的函數也均由Pixelflinger提供

|- libprocessgroup // 程序組庫

|- libprocinfo // 系統屬性資訊

|- libsparse // 稀疏矩陣庫

|- libsuspend // 跟電源管理相關

|- libsync // 網絡資料同步開發庫

|- libsysutils // 系統工具庫

|- libunwindstack // libunwind庫為基于64位CPU和作業系統的程式提供了基本的堆棧輾轉開解功能

|- libusbhost // usb庫

|- libutils // 系統基本庫

|- libziparchive // zip壓縮算法庫

|- lmkd // 低記憶體庫

|- logcat // logcat工具源碼

|- logd // log程序

|- logwrapper // log封裝工具

|- mkbootimg // 制作啟動boot.img的工具盒腳本

|- reboot // 重新開機

|- rootdir // rootfs,包含一些etc下的腳本和配置

|- run-as // 權限控制

|- sdcard // SD卡管理器

|- shell_and_utilities // shell工具包

|- storaged // 存儲

|- toolbox // toolbox,類似busybox的工具集

|- trusty // 授權底層

|- tzdatacheck // 時區檢查底層

|- extras // 核心庫之外的程式,包括以下幾個目錄。

|- alloc-stress // 記憶體釋放

|- ANRdaemon // 系統無響應庫

|- app-launcher // launcher應用庫

|- boot_control_copy // boot控制複制

|- bootctl // boot控制

|- brillo_config // Brillo 系統配置

|- cppreopts //

|- cpustats // cpu狀态

|- crypto-perf // 加密性能分析工具

|- ext4_utils // ext4檔案系統

|- f2fs_utils // f2fs檔案系統

|- ioshark // io流操作洩露回收

|- iotop // io操作相關

|- kexec_tools // Kexec是Linux和Xen提供的軟重新開機和崩潰轉儲工具。 這個頁面是kexec各種工作的反彈點

|- ksmutils // KSM是一種節省記憶體的重複資料删除功能,可以合并匿名(專用)頁面(不是頁面緩存)。 雖然它是以這種方式開始的,但KSM目前适用于不止于虛拟機的使用,因為它對任何生成相同資料的許多執行個體的應用程式都是有用的

|- latencytop // a tool for software developers ,identifying system latency happen

|- libfec // fec庫

|- libpagemap // pagemap庫

|- librank // rank庫

|- memcpy-perf // 記憶體性能分析

|- memory_replay // 記憶體重寫

|- memtrack // 記憶體堆棧

|- micro_bench // sim相關

|- mmap-perf // 系統級性能分析工具

|- multinetwork // 多網絡系統實作

|- pagecache //

|- perfprofd // 系統安裝相關

|- postinst //

|- preopt2cachename // dex檔案優化相關

|- procmem // 用于檢視系統中的記憶體使用情況,procrank可以檢視系統中所有程序的整體記憶體占用情況,并按照規則排序

|- procrank // 用于檢視系統中的記憶體使用情況,procmem可以針對某個特定的程序分析其堆、棧、共享庫等記憶體占用情況

|- puncture_fs //

|- runconuid //

|- sane_schedstat // 射頻庫

|- showmap // showmap工具

|- showslab // showslab工具

|- simpleperf // Simpleperf是Android平台的一個本地層性能分析工具。它的指令行界面支援與linux-tools perf大緻相同的選項,但是它還支援許多Android特有的改進

|- slideshow // 幻燈片展示

|- sound // 聲音相關

|- squashfs_utils // SquashFS是一套基于Linux核心使用的壓縮隻讀檔案系統。該檔案系統能夠壓縮系統内的文檔,inode以及目錄,檔案最大支援2^64位元組。

|- su // su指令源碼

|- systrace_analysis // 系統性能分析

|- taskstats // 任務管理

|- tests // 測試工具

|- tools // 工具

|- verity // 認證

|- zram-perf // ZRAM是linux的一種記憶體優化技術,基本工作原理是:通過劃定一片區域,将壓縮過後的硬碟資料放入該區域,以實作高速讀取

|- gatekeeper // 防護程式,如鎖屏密碼等。

|- hardware //

|- hwservicemanager // Hardware Service Manager。

|- keymaster // HAL密鑰管理。

|- libfmq // Message Queue。

|- libhidl // Hardware Interface Description Language。

|- libhwbinder // Hardware Binder。

|- libufdt // Unflattened Device Tree。

|- libvintf // Vendor Interface。

|- media // 包括alsa、audio、brillo、camera和radio。

|- nativepower // 用于Brillo的電源管理子產品,包括用戶端的libnativepower和服務端的nativepowerman以及示例代碼。

|- netd // 網絡子產品,包括client和server。

|- nfc // Near Field Communication。

|- nvram // NVRAM通路控制。

|- security // 安全子產品,包括keystore和軟體模拟的softkeymaster。

|- sepolicy // Android SELinux policy configuration。

|- tools // 包括aidi和hidl。

|- tpm // Trusted Platform Module,一種安全防禦工具。

|- update_engine // 系統更新。

|- vold // Volume服務,如sdk卡、usb等。

|- test // Android Vendor測試架構,包括以下幾個目錄。

|- vts // Vendor Test Suite。

|- vts-testcase // VTS測試用例,包括fuzz、kernel、performance和security。

|- toolchain // Android工具鍊,包括一個binutils目錄。

|- binutils // bin utilities。

|- tools // Android工具集,包括以下幾個目錄。

|- apksig // APK簽名,包括一個Java庫和一個Java指令行工具。

|- external // 外部工具,包括以下幾個目錄。

|- fat32lib // 用于FAT檔案系統。

|- gradle // Gradle各種版本的源碼壓縮包。

|- loganalysis // log分析的Java類庫。

|- repohooks // 用于repo upload,報告各倉庫的修改情況。

|- test // 測試架構,Python實作。

|- tradefederation // 服務于測試。

https://blog.csdn.net/nwpushuai/article/details/79255993