其中 tests 是一個獨立的項目,可以暫時不考慮。其他部分看作一個 Android 的一應(yīng)用程序的工程。這個工程主要的組成部分如下所示:AndroidManifest.xml:工程的描述文件,在運行時有用處Android.mk:整個工程的 Makefileres:放置資源文件的目錄 src/com/example/android/helloactivity/HelloActivity.java:這是 JAVA 類文件,這個文件的路徑表示在 Andorid 的 JAVA 包的結(jié)構(gòu)中的位置, 這個包的使用方式為com.example.android.helloactivity。 第二部分:編譯的中間結(jié)果 這個 HelloActivity 工程經(jīng)過編譯后將生成out/target/common/obj/APPS/HelloActivity_intermediates/ 目錄, 這個目錄中的內(nèi)容都是HelloActivity 工程相關(guān)的, 更具體地說都與development/samples/HelloActivity/ 中的Android.mk 文件相關(guān)。
classes.dex 是一個最重要的文件,它是給 Android 的 JAVA 虛擬機 Dalvik 運行的字節(jié)碼文件。 classes.jar 是一個 JAR 文件,JAR 的含義為 Java ARchive,也就是 Java 歸檔,是一種與平臺無關(guān)的文件格式,可將多個文件合成一個文件。解壓縮之后的目錄結(jié)構(gòu):(JAVA 標(biāo)準(zhǔn)編譯得到的類)
各個以 class 為擴展名的文件,事實上是 JAVA 程序經(jīng)過編譯后的各個類的字節(jié)碼。 第三部分:目標(biāo) 文件 目標(biāo) apk 文件是 Android 的 JAVA 虛擬機 Dalvik 安裝和運行的文件,事實上這個 apk 文件將由編譯的中間結(jié)果和原始文件生成。apk 文件的本質(zhì)是一個 zip 包。這個 APK 包解壓縮后的目錄結(jié)構(gòu)如下所示:
值得注意的是,這里的 xml 文件經(jīng)過了處理,和原始的文件不太一樣,不能按照文本文件的方式閱讀。</div |