很老了
Android编译生成的所有文件都是和源码分离的,所有中间文件和结果都放在out文件夹中。out文件夹结构如下:
|-- host/ # 构建源码需要的工具和库文件
|-- target/product/generic/ # 生成最后产品的目录
|-- data # 这个目录是用来生成<数据文件系统镜像>(data file system image)userdata.img
|-- obj # 生成的中间文件,最后都要拷贝到root或system文件夹中,最后生成镜像img文件
| |-- APPS # android应用
| |-- ETC
| |-- EXECUTABLES # 所有本地运行工具 ping toolbox
| |-- include
| |-- JAVA_LIBRARIES
| |-- lib # 从SHARED_LIBRARIES拷贝,各种.so共享库
| |
| |-- PACKAGING
| |-- SHARED_LIBRARIES # 共享库
| | |-- {LOCAL_MODULE_NAME}_intermediates # 各种共享库 {LOCAL_MODULE_NAME}模块名称
| | |
| | -- LINKED # 链接到二进制文件, e.g, .so文件
| -- STATIC_LIBRARIES # 静态库
|-- root # 这个目录用来创建<root文件系统>(root file system), 生成的ramdisk.img是用这个文件夹生成的镜像
| |-- data
| |-- dev
| |-- proc
| |-- sbin
| |-- sys
| -- system
|-- symbols # 带调试信息的
| |-- data
| |-- sbin
| -- system
-- system # 用来创建system.img, 大部分的应用程序和库都在system中
|-- app
|-- bin
|-- etc
|-- fonts
|-- framework
|-- lib
|-- media
|-- tts
|-- usr
-- xbin
在out/target/product/generic/obj中,APPS, EXECUTABLES, SHARED_LIBRARIES, STATIC_LIBRARIES分别为java应用,原生可执行文件,共享库和静态库。最后生成system.img,ramdisk.img,userdata.img。
评论 (0)