文章目录

  • ​​一、Android 项目构建打包流程​​
  • ​​二、构建工具发展 ( 手动配置 -> Ant -> Maven -> Gradle )​​






一、Android 项目构建打包流程



Android 项目构建参考 :

  • ​​【Android 安装包优化】APK 打包流程 ( 文件结构 | 打包流程 | 安装流程 | 安卓虚拟机 )​​
  • ​​【字节码插桩】Android 打包流程 | Android 中的字节码操作方式 | AOP 面向切面编程 | APT 编译时技术​​
  • ​​【Android Gradle】安卓应用构建流程 ( Java 源码编译 和 AIDL 文件编译 )​​
  • ​​【Android Gradle】安卓应用构建流程 ( 资源文件编译 )​​
  • ​​【Android 安装包优化】资源混淆 ( 资源混淆效果 | APK 构建流程简介 | 资源 ID 组成 )​​

博客 ;



Android 应用 Apk 文件打包流程如下图所示 :

① 使用 AAPT 工具 打包资源文件 , 生成 R.java , resources.ap 文件 ;

② 使用 AIDL tool 工具

③ 使用 javac 工具 编译 Java 源码为 class 字节码文件 ;

④ 使用 dx 工具 将 class 字节码文件打包成 dex 字节码文件 , 这是 Dalvik 虚拟机字节码文件 ;

⑤ 使用 apkbuilder 工具 生成未签名的 apk 文件 ;

⑥ 使用 jarsigner 工具 对 apk 文件进行签名 , 生成签名后的文件 ;

⑦ 使用 zipalign 工具 对签名后的 apk 文件进行对齐操作 ;

上述操作是 Android Gradle 插件执行的 ;

【Android Gradle 插件】Gradle 构建工具简介 ② ( Android 项目构建打包流程 | 构建工具发展 -> 手动配置 -> Ant -> Maven -> Gradle )_字节码

上述 Apk 打包流程 , 是通过 Android Gradle 插件 执行一系列的 Gradle 任务 完成的 ;

上述打包的 7 个步骤 , 都可以手动完成 , 每一步自己通过命令行的形式手动打包 , 但是操作及其繁琐 ;






二、构建工具发展 ( 手动配置 -> Ant -> Maven -> Gradle )



① 手动编译打包 : 如果没有构建工具的辅助 , 自己写的每个源代码 , 每个资源文件 , 都需要 手动进行编译 , 打包



② 使用 Make , Ant 构建工具打包 :

  • Make 构建工具 : C / C++ 程序 一般使用 Make 构建工具 , 每个源码都需要手动配置到 Makefile 脚本中 ;
  • Ant 构建工具 : Java 程序 一般使用 Ant 构建工具进行打包 , 但是其要配置大量的 xml 配置 , 没有依赖管理 , 每个目录都需要手动配置 , 大型项目一旦修改 Ant , 工作量巨大 ;

这两种构建工具 配置起来仍然很麻烦 , 但是比手动编译打包方便很多 ;



③ 使用 Maven 构建工具打包 : Maven 主要是 弥补了 Ant 的不足 ;



④ 使用 Gradle 构建工具打包 : 集成了 Maven 和 Ant 构建工具 , 比上述所有的构建工具都要 灵活 , 强大 ;