Android 编译完成后,将在根目录中生成一个out文件夹,所有生成的内容均放置在这个文件夹中。

out文件夹如下所示:
out/
-- CaseCheck.txt
-- casecheck.txt
-- host //表示在主机(x86)生成的工具
-- 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中,包含两个重要的目录:

out/target/obj/
--APPS(包含了JAVA应用程序生成的目标,每个应用程序对应其中一个子目录,将结合每个应用程序的原始文件生成Android 应用程序的APK包)
--JAVA_LIBRARIES (包含了JAVA的库,每个库对应其中一个子目录)

在默认的情况下,Android 编译将生成generic目录,如果选定产品还可以生成其他的目录(根据预先设定的产品名命名)。

generic包含了以下内容:
out/target/product/generic/
-- data (存放数据的文件系统)
-- obj(目录中包含了各种JAVA应用,与common/obj/APPS相对应,但是已经打成了APK包

-- root
-- symbols
-- system(主要的文件系统)

-- Android -info.txt
-- clean_steps.mk
-- ramdisk.img
-- system.img

-- userdata.img

--userdata-qemu.img

obj/SHARED_LIBRARIES中存放所有动态库。
obj/STATIC_LIBRARIES中存放所有静态库。
几个以img为结尾的文件是几个目标映像文件,其中ramdisk是作为内存盘的根文件系统映像,system.img是主要文件系统的映像,这是一个比较大的文件,userdata.img是数据内容映像。userdata-qemu.img是模拟器使用的数据文件,一般不用userdata.img,只有-wipe-data时才用到userdata.img。这几个image文件是运行时真正需要的文件。

更多相关文章

  1. Android(安卓)ndk r4b开发环境搭建
  2. Android(安卓)虚拟按键驱动实现
  3. Android(安卓)6410 移植
  4. coredump在Android上的应用
  5. android studio 开发(二)问题
  6. flutter的AndroidX版本适配
  7. Android(安卓)编译系统(一):Android.mk的学习
  8. android mvp快速开发框架介绍(自动生成android代码工具介绍)
  9. android studio 框架搭建:加入注解框架Annotations

随机推荐

  1. Android Tcp服务器端
  2. android 实现微信摇一摇效果
  3. android Media process
  4. Android(安卓)SQLiteOpenHelper源码解读
  5. Android SQLite Database and ContentPro
  6. Android 关闭后台音频播放
  7. Android GPS获取当前位置信息
  8. Android下拉刷新实例
  9. android之listView缓存机制
  10. Android版本差异