4.3 HelloActivity的编译结构
在 Android 的 SDK 环境开发中,HelloActivity
工程经过编译后,SDK 环境下开发生成的所有目标文件均在当前工程目录中,包含了 assets、bin、gen 等目录。
在 gen 目录中,包含了以类的层次关系为结构的资源文件。例如,gen/com/ example/android/helloactivity
目录中的 R.java 就是 HelloActivity
中的资源文件。
在 bin 目录中,目录结构按照类的关系组织,com/example/android/helloactivity
子目录包含了经过编译后的各个 Java 类,以.class 为后缀。
在 bin 目录中包含的 classes.dex 文件是编译后的,可以在 Dalvik 虚拟机上运行的 Java 的字节码文件,生成的 HelloActivity.apk
文件是最终的 APK 文件,可以在兼容的 Android API 的目标系统中安装,进而运行程序。
HelloActivity.apk 经过解压缩后,包含了下面的一些内容:
HelloActivity.apk/
|-- AndroidManifest.xml (经过 aapt 处理的工程描述文件)
|-- META-INF
| |-- CERT.RSA
| |-- CERT.SF
| -- MANIFEST.MF |-- classes.dex (Dalvik 的字节码) |-- res |
– layout
| -- hello_activity.xml (经过 aapt 处理的布局文件)
– resources.arsc