Android編譯完成後的代碼結構

  【IT168 技術文檔】Android編譯完成後,將在根目錄中生成一個out文件夾,全部生成的內容均放置在這個文件夾中。out文件夾以下所示:
  out/
  |-- CaseCheck.txt
  |-- casecheck.txt
  |-- host
  |   |-- common
  |   `-- linux-x86
  `-- target
      |-- common
      `-- product

   
主要的兩個目錄爲hosttarget,前者表示在主機(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文件是運行時真正須要的文件。 linux

相關文章
相關標籤/搜索