`

Android编译后的文件结构

 
阅读更多
Android编译完成后,将在根目录中生成一个out文件夹,所有生成的内容均放置在这个文件夹中。out文件夹如下所示:
  out/
  |-- CaseCheck.txt
  |-- casecheck.txt
  |-- host
  |  |-- common
  |  `-- linux-x86
  `-- target
     |-- common
     `-- product

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

host目录的结构如下所示:
  out/host/
  |-- common
  |  `-- obj          (JAVA库)
  `-- linux-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/APPS相对应,但是已经打成了APK包。
  system目录是主要的文件系统,data目录是存放数据的文件系统。
  obj/SHARED_LIBRARIES中存放所有动态库。
  obj/STATIC_LIBRARIES中存放所有静态库。
  几个以img为结尾的文件是几个目标映像文件,其中ramdisk是作为内存盘的根文件系统映像,system.img是主要文件系统的映像,这是一个比较大的文件,data.img是数据内容映像。这几个image文件是运行时真正需要的文件。
命令行中输入emulator -image system.img -data userdata.img -ramdisk ramdisk.img 进入模拟器。
分享到:
评论

相关推荐

    Android 编译文件树1

    Android 编译文件结构根目录Android.bphttps://blog.csdn.net/sir_zeng/article/details/803115

    安卓反编译dex文件格式实例分析

    内容的目录结构如下 : 第一部分:创造一个可供分析的 Hello.dex 1. 测试环境 2. java 源码和编译方法 3. 使用 ADB 运行测试 4. 重要说明第二部分:分析过程 1. dex 整个文件的布局 2. header 3. string_ids 4. ...

    Android 反编译工具

    Android反编译工具,可以反编译出apk里面的图片及xml文档的结构。

    Android 超好用反编译工具

    编译文件以树形目录结构呈现出来,自动失败图像资源文件,并提供图片资源的快捷替换功能,方便用户对APK文件进行二次修改,同时工具中内置了代码编辑器,支持包含(但不限于)。samli、。xml、。html等各类格式文件...

    Android12系统资源目录分析树状图pdf(使用xmind思维导图软件绘画,导出pdf文件,此是压缩包文件,需解压)

    build:存放系统编译规则及generic等基础开发包配置,包括原有的GNU make或mk和新加入的go或bp.pdf cts:Android兼容性测试套件标准.pdf dalvik:dalvik 虚拟机.pdf developers:开发者参考文档目录.pdf development:...

    反编译APK问题解释

    反编译APK的核心,Apk文件结构, android 系统最常见的莫过就似乎apk文件了

    Android的源代码结构

    Google提供的Android包含了原始Android的目标机代码,主机编译工具、仿真环境,代码包经过解压缩后,第一级别的目录和文件如下所示: . |-- Makefile (全局的Makefile) |-- bionic (Bionic含义为仿生,这里面是...

    安卓配置文件XML批量反编译2_0

    鼠标视图操作,批量反编译安卓的布局文件和配置文件,针对XML文件的,核心文件AXMLPrinter2.jar,你可以自己反编译我的文件,更新AXMLPrinter2.jar这个jar包,就可以更新反编译核心了,我的这个AXMLPrinter2.jar包...

    android 源代码结构

    Android 2.1 |-- Makefile |-- bionic (bionic C库) |-- bootable (启动引导相关代码) |-- build (存放系统编译规则及generic等基础开发包配置) |-- cts (Android兼容性测试套件标准) |-- dalvik (dalvik ...

    反编译Andoird工具集(附反编译步骤)

    不过目前来说Google Android平台选择了Java Dalvik VM的方式使其程序很容易破解和被修改,首先APK文件其实就是一个MIME为ZIP的压缩包,我们修改ZIP后缀名方式可以看到内部的文件结构,类似Sun JavaMe的Jar压缩格式...

    解包打包android内核system.img文件所需工具

    工具: unyaffs,mkyaffs2image ...其中unyaffs有windows版本和linux版本,mkyaffs2image只有linux版本。...按照原system目录的文件结构组织好后,目录复制到linux环境下使用mkyaffs2image重新打包成system.img。

    详解android应用程序的反编译

    android上安装的应用程序后缀都是apk(Android application package),每个要安装到android平台的应用都要被编译打包为一个单独的文件,后缀名为.apk。而实际上这个apk格式的文件是一种变相的zip压缩包,你可以使用...

    Android开发相关的学习资料

    02-Android Studio项目结构分析与调试_实验03-Android Studio项目结构分析.pdf、实验04-Android Studio项目调试.pdf、实验05-优化Android Studio编译速度.pdf; 03-Android UI设计与Activity组件_实验06-Android UI...

    Android 源码如何编译调试

     1、android的文件系统结构是怎样的,我们安装的程序放在那里?  编译android源码之后,在out/target/product/generic一些文件:  ramdisk.img、system.img、userdata.img、 system、 data、root  其中, system...

    长青说android系列-android源代码结构分析

    很有价值的一系列文档,值得收藏,文档详细介绍了android源代码的获取和编译,如何分析,如何实现条件表意,如何调试等

    Android入门到精通

    第一篇Android系统结构和SDK使用 第1章 Android的系统介绍 1.1 系统介绍 1.2 软件结构和使用的工具 第2章 Android SDK的开发环境 2.1 Android SDK的结构 2.2 Android SDK环境安装 2.3 Android中运行仿真器环境 2.4 ...

    Android驱动开发权威指南

    第2章Android体系结构 2.1四层空间基本结构 2.1.1 Android系统底层开发 2.1.2应用程序开发 2.2 Android代码目录结构 2.3 Android开发环境搭建 第二篇 勿于浮砂筑高台——Linux驱动基础篇 第3章Linux内核综述 3.1 OS...

    Android Studio 生成自定义jar包的步骤详解

    1、新建一个项目,项目名随意,eg:MakeJarApplication,在项目中新建一个module类型为android-library ,命名为testLibrary。如图: 项目结构图 2、让app依赖这个库,在app下的build.gradle文件中添加compile ...

    疯狂Android讲义源代码2

    1.3.5 使用DX编译Android应用 1.3.6 使用Android Asset Packaging Tool(AAPT)打包资源 1.3.7 使用mksdcard管理虚拟SD卡 1.4 开始第一个Android应用 1.4.1 使用Eclipse开发第一个Android应用 1.4.2 通过ADT...

Global site tag (gtag.js) - Google Analytics