Android编译完成后,将在根目录中生成一个out文件夹,所有生成的内容均放置在这个文件夹中。out文件夹如下所示:
out/
-- CaseCheck.txt
-- casecheck.txt
-- host
-- common
-- linux-x86/darwin-x86
-- target(如果编译时候定义TARGET_STRIP_MODULE=false的话,这个目录为debug/target)
-- common
-- product

主要的两个目录为host和target,前者表示在主机(x86)生成的工具,后者表示目标机(模认为ARMv5)运行的内容。

host目录的结构如下所示:
out/host/
-- common
-- obj(JAVA库)
-- linux-x86/darwin-x86
-- bin(二进制程序)
-- framework(JAVA库,*.jar文件)
-- lib(共享库*.so)
-- obj(中间生成的目标文件)
host目录是一些在主机上用的工具,有一些是二进制程序,有一些是JAVA的程序。

target目录的结构如下所示:
out/target/
-- common
-- R (资源文件)
-- docs
-- obj (目标文件)
-- product
-- generic
其中common目录表示通用的内容,product中则是针对产品的内容。
在common目录的obj中,包含两个重要的目录:
APPS中包含了JAVA应用程序生成的目标,每个应用程序对应其中一个子目录,将结合每个应用程序的原始文件生成Android应用程序的APK包。
JAVA_LIBRARIES中包含了JAVA的库,每个库对应其中一个子目录。

在默认的情况下,Android编译将生成generic目录,如果选定产品还可以生成其他的目录。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

在generic/obj/APPS目录中包含了各种JAVA应用,与common/obj/APPS相对应,但是已经打成了APK包。
system目录是主要的文件系统,data目录是存放数据的文件系统。
obj/SHARED_LIBRARIES中存放所有动态库。
obj/STATIC_LIBRARIES中存放所有静态库。
几个以img为结尾的文件是几个目标映像文件,其中ramdisk是作为内存盘的根文件系统映像,system.img是主要文件系统的映像,这是一个比较大的文件,userdata.img是数据内容映像。userdata-qemu.img是模拟器使用的数据文件,一般不用userdata.img,只有-wipe-data时才用到userdata.img。这几个image文件是运行时真正需要的文件。

更多相关文章

  1. Android(安卓)P版本编译出现报错ninja: build stopped: subcomma
  2. 用React Native做一个填字游戏(3)——背景音乐
  3. Android(安卓)镜像文件生成流程
  4. OS X环境下如何搭建编译Cocos2D-X v3.x的Android(安卓)Studio工
  5. android 开机log的制作过程
  6. Android(安卓)4.4.4 锁屏界面时间大小修改
  7. Android系统升级
  8. Android按钮按下时和弹起时的颜色设置
  9. Android(安卓)smb共享文件的下载

随机推荐

  1. Android(安卓)adb 使用总结 (调试专用)
  2. Android之两种toast的实现
  3. eclipse 启动 Android(安卓)SDK Content
  4. 用Javascript判断访问来源操作系统, 设备
  5. android com.handmark.pulltorefresh 使
  6. Android(安卓)TextView里显示两种颜色
  7. Android7.1&8.0 audio设置音量
  8. android获得屏幕高度和宽度
  9. Android之仿iphone抖动效果
  10. linux下android开发环境的配置