Android源码目录简介

Android源码目录简介

作为Android开发者,,Android源码有必要做点了解,但是源码目录繁杂,如何才能快速找到自己想要代码,对目录需要有些了解,其中Application/Framework开发者最重要的就是Frameworks文件夹,android源码全部目录如下,不同部分以厂商定制为准,以API 14(Android4.0为例):

Android 4.0 目录

|– Makefile |– bionic (bionic C库) |– bootable (启动引导相关代码) |– build (存放系统编译规则及generic等基础开发包配置) |– cts (Android兼容性测试套件标准) |– dalvik (dalvik JAVA虚拟机) |– development (应用程序开发相关) |– external (android使用的一些开源的模组) |–frameworks (核心框架——java及C++语言) |– hardware (部分厂家开源的硬解适配层HAL代码) |– out (编译完成后的代码输出与此目录) |– packages (应用程序包) |– prebuilt (x86和arm架构下预编译的一些资源) |– sdk (sdk及模拟器) |– system (底层文件系统库、应用及组件——C语言) `– vendor (厂商定制代码)

bionic 目录

|– libc (C库) | |– arch-arm (ARM架构,包含系统调用汇编实现) | |– arch-x86 (x86架构,包含系统调用汇编实现) | |– bionic (由C实现的功能,架构无关) | |– docs (文档) | |– include (头文件) | |– inet (?inet相关,具体作用不明) | |– kernel (Linux内核中的一些头文件) | |– netbsd (?nesbsd系统相关,具体作用不明) | |– private (?一些私有的头文件) | |– stdio (stdio实现) | |– stdlib (stdlib实现) | |– string (string函数实现) | |– tools (几个工具) | |– tzcode (时区相关代码) | |– unistd (unistd实现) | — zoneinfo (时区信息) |– libdl (libdl实现,dl是动态链接,提供访问动态链接库的功能) |– libm (libm数学库的实现,) | |– alpha (apaha架构) | |– amd64 (amd64架构) | |– arm (arm架构) | |– bsdsrc (?bsd的源码) | |– i386 (i386架构) | |– i387 (i387架构?) | |– ia64 (ia64架构) | |– include (头文件) | |– man (数学函数,后缀名为.3,一些为freeBSD的库文件) | |– powerpc (powerpc架构) | |– sparc64 (sparc64架构) |– src (源代码) |– libstdc++ (libstdc++ C++实现库) | |– include (头文件) | — src (源码) |– libthread_db (多线程程序的调试器库) |– include (头文件) — linker (动态链接器) – arch (支持arm和x86两种架构)

bootable 目录

. |– bootloader (适合各种bootloader的通用代码) | — legacy (估计不能直接使用,可以参考) | |– arch_armv6 (V6架构,几个简单的汇编文件) | |– arch_msm7k (高通7k处理器架构的几个基本驱动) | |– include (通用头文件和高通7k架构头文件) | |– libboot (启动库,都写得很简单) | |– libc (一些常用的c函数) | |– nandwrite (nandwirte函数实现) |– usbloader (usbloader实现) |– diskinstaller (android镜像打包器,x86可生产iso) — recovery (系统恢复相关) |– edify (升级脚本使用的edify脚本语言) |– etc (init.rc恢复脚本) |– minui (一个简单的UI) |– minzip (一个简单的压缩工具) |– mtdutils (mtd工具) |– res (资源) |– images (一些图片) |– tools (工具) | — ota (OTA Over The Air Updates升级工具) – updater (升级器)

build目录

. |– core (核心编译规则) |– history (历史记录) |– libs | — host (主机端库,有android “cp”功能替换) |– target (目标机编译对象) | |– board (开发平台) | | |– emulator (模拟器) | | |– generic (通用) | | |– idea6410 (自己添加的) | |– sim (最简单) | — product (开发平台对应的编译规则) |– security (密钥相关) — tools (编译中主机使用的工具及脚本) |– acp (Android “acp” Command) |– apicheck (api检查工具) |– applypatch (补丁工具) |– apriori (预链接工具) |– atree (tree工具) |– bin2asm (bin转换为asm工具) |– check_prereq (检查编译时间戳工具) |– dexpreopt (模拟器相关工具,具体功能不明) |– droiddoc (?作用不明,java语言,网上有人说和JDK5有关) |– fs_config (This program takes a list of files and directories) |– fs_get_stats (获取文件系统状态) |– iself (判断是否ELF格式) |– isprelinked (判断是否prelinked) |– kcm (按键相关) |– lsd (List symbol dependencies) |– releasetools (生成镜像的工具及脚本) |– rgb2565 (rgb转换为565) |– signapk (apk签名工具) |– soslim (strip工具) – zipalign (zip archive alignment tool)

dalvik目录 dalvik虚拟机

. |– dalvikvm (main.c的目录) |– dexdump (dex反汇编) |– dexlist (List all methods in all concrete classes in a DEX file.) |– dexopt (预验证与优化) |– docs (文档) |– dvz (和zygote相关的一个命令) |– dx (dx工具,将多个java转换为dex) |– hit (?java语言写成) |– libcore (核心库) |– libcore-disabled (?禁用的库) |– libdex (dex的库) |– libnativehelper (Support functions for Android’s class libraries) |– tests (测试代码) |– tools (工具) `– vm (虚拟机实现)

development 目录 (开发者需要的一些例程及工具)打掉的应是脆弱的铁屑,锻成的将是锋利的钢刀。

Android源码目录简介

相关文章:

你感兴趣的文章:

标签云: