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之Adapter用法总结
  2. Android(安卓)APK反编译详解(附图)
  3. android ftp 客户端编写(ftp4j)
  4. Android之——多线程下载示例
  5. Android读写XML(下)——创建XML文档
  6. Android(安卓)Studio 创建 aar文件 并 引用
  7. Android中的Gradle
  8. 利用Android(安卓)Studio、MAT对Android进行内存泄漏检测
  9. NPM 和webpack 的基础使用

随机推荐

  1. Jsoup对html文档的解析
  2. HTML5 Canvas 绘图方法整理 【十五、Canv
  3. 在PHP中获取幕布元素ID的文本[重复]
  4. HTML5引擎Construct2技术剖析(六)
  5. 使用jQuery随机化一系列div元素
  6. flah网站发布问题,我是在flash里面直接发
  7. CSS文件filemtime没有调用路径两次
  8. EasyUI学习之输入框
  9. Jquery中的事件处理(自动触发事件,禁用按
  10. ext给grid加toolTip提示(转自http://blog.