【IT168 技术文档】以HelloActivity工程为例,它经过编译后将生成out/target/common/obj/APPS/HelloActivity_intermediates/目录。
out/target/common/obj/APPS/HelloActivity_intermediates/
|-- classes.dex (字节码)
|-- classes.jar (JAR文件)
|-- public_resources.xml (根据resources结构生成的xml)
`-- src
|-- R.stamp
`-- com
`-- example
`-- android
`-- helloactivity
`-- R.java (resources生成的文件)
classes.jar是一个JAR文件,JAR的含义为Java ARchive,也就是Java 归档,是一种与平台无关的文件格式,可将多个文件合成一个文件。解压缩之后的目录结构:(JAVA标准编译得到的类)
classes
|-- META-INF
| `-- MANIFEST.MF
`-- com
`-- example
`-- android
`-- helloactivity
|-- HelloActivity.class
|-- R$attr.class
|-- R$id.class
|-- R$layout.class
|-- R$string.class
`-- R.class
在经过以上编译后,由原始目录development/samples/HelloActivity/中的内容结合目标文件out/target/common/obj/APPS/HelloActivity_intermediates/中的内容,将生成最终的APK包,这个包放置在out/target/product/generic/obj/APPS/HelloActivity_intermediates/目录中。
#####目标apk文件:
out/target/product/generic/obj/APPS/HelloActivity_intermediates/package.apk_FILES/
|-- AndroidManifest.xml
|-- META-INF
| |-- CERT.RSA
| |-- CERT.SF
| `-- MANIFEST.MF
|-- classes.dex
|-- res
| `-- layout
| `-- hello_activity.xml
`-- resources.arsc
事实上,一个工程将涉及三个文件夹,对于HelloActivity工程三个目录为:
原始目录:development/samples/HelloActivity/
编译目录:out/target/common/obj/APPS/HelloActivity_intermediates/
APK目录:out/target/product/generic/obj/APPS/HelloActivity_intermediates/
其中整个out目录是Android在编译后才具有的。
Android的应用程序编译结果
0
相关文章