Android应用程序一般包含在一个单一的文件夹中,即每一个Android应用程序是一个独立的工程,包含了以下文件:

1:Android.mk:统一工程文件,在SDK开发中可以不需要;

2:AndroidManifest.xml:工程描述文件,在其中定义了各种组件;

3:Java源代码:按照Java包的方式来组织目录结构,包括各个Java类的源代码;

4:资源文件:包含XML文件、图片、原始数据文件等,其中表示界面情况的布局(Layout)文件比较重要。

在编译Android应用程序的过程中,Java源代码使用Sun JDK将Java源程序编译成Java字节码文件(多个后缀名为.class的文件),这一步骤和标准的Java一致,然后通过Android自带的工具软件dex把所有的字节码文件转成dex文件(单一文件classes.dex)。

AndroidManifest.xml文件经过Android打包工具(aapt)处理后形成二进制格式AndroidManifest.xml文件,实质的内容与以前相同。
各个资源文件也经过aapt处理,其中布局等文本文件处理成二进制文件,图片等文件保持不变。
最后将这三个部分组合成一个应用程序包(*.apk)。AndroidManifest.xml描述文件、Java源文件、资源文件是Android应用程序的三个部分;在编译之前的工程中是这三个部分,在编译之后APK包依然是由这三个部分组成的。

Android源文件经过了标准的Java编译器的编译,又经过了dx工具的处理,标准的Java字节码作为整个Android编译的中间过程,最终生成的dex文件(classes.dex)是一个单一文件,将工程中所有的Java源代码文件对应的字节码集成在一起。资源文件和AndroidManifest.xml文件通过aapt工具进行处理。

更多相关文章

  1. Android中String资源文件的String.format方法(java)
  2. Android 的源代码结构
  3. Android中扫描多媒体文件操作详解
  4. Android名词解释之什么是APK文件
  5. Android 逆向apk的配置文件
  6. Android 根文件系统启动过程。
  7. android 下载网络pdf文件后并显示
  8. Android 上传头像(文件)到服务器

随机推荐

  1. java中的大事件
  2. 给定一个整数数组,找出两个下标,要求后面下
  3. JavaWeb中GET请求url传参中文乱码问题
  4. 黑马程序员-异常小结
  5. 如何在泽西Rest Webservice中接受json数
  6. 栅栏(CyclicBarrier类)的用法
  7. java多态及其与c++的差异
  8. [JS] JavaScript框架(2) D3
  9. Spring Bean类可以包含静态方法吗?
  10. Java,Socket&TCP编程 实现多线程端对端通