out 目录分析

编者:厦门大学信息学院通信工程系2015级研究生 马继勇、李浩、罗文彬

out目录

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

主要目录

out目录包含两个文件:last_build.log、out-edison

out/
  -- last_build.log
  -- out-edison
xiaoma@xiaoma-virtual-machine:~/下载/out$ ls

两个主要目录的意义如下表所示:

目录 意义
last_build.log 用来记录最后一次运行时系统的状态、配置等信息
out-edison 文件夹的总体结构路径

out-edison

进入out-edison目录,可以看到其结构路径。

out-edison/
  --Android.mk
  --host
  --target
  --build_c_time.txt
  --build_c_date.txt
  --dist
  --build_date.txt等等
xiaoma@xiaoma-virtual-machine:~/下载/out/out-edison$ ls

其中比较重要的几个文件是Android.mk、host、target,下面分别对他们进行说明。

  • Android.mk

    Android.mk用来向编译系统描述你的源代码。具体来说,该文件是GNU Makefile的一小部分,会被编译系统解析一次或多次。用户可以在每一个Android.mk file中定义一个或多个模块。

  • host host文件夹目录的结构如下所示:

    out-edison/host/
      --common
      --linux-x86
      --windows-x86
    
    xiaoma@xiaoma-virtual-machine:~/下载/out/out-edison/host$ ls
    

    将host的子目录展开,各个子目录和文件的功能如下所示:

    out-edison/host/
      --common
          --obj(JAVA库)
      --linux-x86
          --bin(二进制程序)
          --gen(自动生成的文件目录,一般并不需要去修改)
          --lib(共享库*.so)
          --lib64(同上)
          --obj(中间生成的目标文件)
          --obj32(同上)
      --windows-x86
          --obj(中间生成的目标文件)
    

    总的来说,host目录是一些在主机上用的工具,有一些是二进制程序,有一些是JAVA的程序。

  • target

    target目录包含common与product,其中common目录表示通用内容,produt中则是针对产品的内容。

    将target目录展开,其子目录和文件的功能和意义描述如下:

    out-edison/target/

    --common
        --obj
    --Apps(包含了JAVA应用程序生成的目标,每个应用程序对应其中一个子目录,将结合每个应用程序的原始文件升策划国内Android应用程序的APK包)
            --all-event-log-tags.txt(为所有知道的事件生成一个文件)
            --previous-aidl-config(之前定义进程间的通信接口的配置)
    --product
        --edison
            --breakpad
            --cache
            --data(存放数据的文件系统)
            --fake_packages
            --gen
            --obj(存放所有动态库、静态库等)
            --root
            --symbols
            --system(存放主要的文件系统)
            --android-info.txt
            --boot.img
            --build_fingerprint.txt
            --cache.img
            --clean_steps.mk
            --gpt.bin
            --installed-files.txt
            --kernel
            --package-stats.txt
            --previous_build_config.mk
            --provision-device
            --ramdisk.img(内存盘的根文件系统映像)
            --system.img    (文件系统的映像)
            --userdata.img(数据内容映像)
    
    xiaoma@xiaoma-virtual-machine:~/下载/out/out-edison/target/common/obj$ ls
    

    xiaoma@xiaoma-virtual-machine:~/下载/out/out-edison/target/product/edison$ ls
    

results matching ""

    No results matching ""