其中 tests 是一个独立的项目,可以暂时不考虑。其他部分看作一个 Android 的一应用程序的工程。这个工程主要的组成部分如下所示:AndroidManifest.xml:工程的描述文件,在运行时有用处Android.mk:整个工程的 Makefileres:放置资源文件的目录 src/com/example/android/helloactivity/HelloActivity.java:这是 JAVA 类文件,这个文件的路径表示在 Andorid 的 JAVA 包的结构中的位置, 这个包的使用方式为com.example.android.helloactivity。 第二部分:编译的中间结果 这个 HelloActivity 工程经过编译后将生成out/target/common/obj/APPS/HelloActivity_intermediates/ 目录, 这个目录中的内容都是HelloActivity 工程相关的, 更具体地说都与development/samples/HelloActivity/ 中的Android.mk 文件相关。 ![]()
classes.dex 是一个最重要的文件,它是给 Android 的 JAVA 虚拟机 Dalvik 运行的字节码文件。 classes.jar 是一个 JAR 文件,JAR 的含义为 Java ARchive,也就是 Java 归档,是一种与平台无关的文件格式,可将多个文件合成一个文件。解压缩之后的目录结构:(JAVA 标准编译得到的类)
各个以 class 为扩展名的文件,事实上是 JAVA 程序经过编译后的各个类的字节码。 第三部分:目标 文件 目标 apk 文件是 Android 的 JAVA 虚拟机 Dalvik 安装和运行的文件,事实上这个 apk 文件将由编译的中间结果和原始文件生成。apk 文件的本质是一个 zip 包。这个 APK 包解压缩后的目录结构如下所示:
值得注意的是,这里的 xml 文件经过了处理,和原始的文件不太一样,不能按照文本文件的方式阅读。</div |