> 文档中心 > Andoid源码编译-Android源码编译完成后的代码目录结构

Andoid源码编译-Android源码编译完成后的代码目录结构

       Android源码,你编译过了么?-----箴言-----

代码是最核心的内容。

Android源码是开源的,用户可以下载下来自行编译,下面是一份编译后的代码结构

out/|-- CaseCheck.txt|-- casecheck.txt|-- host|    |-- common|    `-- linux-x86`-- target     |-- common     `-- product     host目录的说明:out/host/|-- common|    `-- obj               (JAVA库)`-- linux-x86     |-- bin               (二进制程序)     |-- framework         (JAVA库,*.jar文件)     |-- lib               (共享库*.so)     `-- obj               (中间生成的目标文件)target目录:out/target/|-- common|    |-- R            (资源文件)|    |-- docs|    `-- obj          (目标文件)`-- product     `-- generic在默认的情况下,Android编译将生成generic目录:out/target/product/generic/|-- android-info.txt|-- clean_steps.mk|-- data|-- obj|-- ramdisk.img|-- root|-- symbols|-- system|-- system.img|-- userdata-qemu.img`-- userdata.img

说明:

Andoid源码成功编译后,会在编译的根目录下生成一个out文件夹,存放了所有编译生成的内容;

(1)out目录下最主要的有两个目录:host和target,host表示在主机(x86)生成的工具,target表示目标设备运行的内容;
         host目录存放的是一些在主机上用的工具,包括二进制程序和JAVA程序。

out/target/common: 通用目录。
在common目录的obj中,包含两个重要的目录:
APPS: JAVA应用程序生成的目标,每个应用程序对应其中一个子目录,将结合每个应用程序的原始文件生成Android应用程序的APK包。
JAVA_LIBRARIES:  JAVA库,每个库对应其中一个子目录。

(2)out/target/product: 产品目录,其中

out/target/product/generic/:

在默认的情况下,Android编译将生成generic目录,如果选定产品还可以生成其他的目录。

generic/obj/APPS:各种JAVA应用,与common/APPS相对应,但是已经打成了APK包。
system:系统文件;

data:数据文件。
obj/SHARED_LIBRARIES:动态库。
obj/STATIC_LIBRARIES:静态库。

img文件:目标映像文件,可以烧录到设备中。
ramdisk:根文件系统映像;
system.img:系统文件映像;
data.img:是数据内容映像。