构建的主要流程

所谓构建就是利用Gradle和Android Plugin for Gradle将源码和资源打包成APK文件的过程。
Gradle和Android Plugin for Gradle构建APK并不依赖于Android Studio,我们完全可以从命令行来构建和运行应用。

打包的流程如图:

主要可以分为4步:

  • 编译器将源码编译成dex文件,将资源编译成已编译资源文件
  • APK打包器将dex和已编译资源文件打包成APK文件
  • APK打包器用秘钥对apk文件进行签名
  • 打包器对apk文件进行优化。

几个配置中的基本概念

构建类型buildType

构建类型的着重点在:针对不同的开发周期下的构建配置上的差异。如debug类型下需要打印调试日志,而release类型需要混淆等。在用户感知上来说是同一个应用。

产品风味productFlavors

产品风味的着重点是:给用户的不同应用版本,如免费版和付费版。

构建变体

构建变体是构建类型和产品风味的交叉产物。

源集

Android Studio将每个模块的源代码和资源划分为一个源集,其中src/main目录下是主源集,包含了所有构建变体共用的代码和资源。除了主源集,还可以包括:
- src/buildType/ 构建类型源集
- src/productFlavor/ 产品风味源集
- src/productFlavorBuildType/ 构建变体源集

如果不同源集包含同一文件的不同版本,Gradle 将按以下优先顺序决定使用哪一个文件(左侧源集替换右侧源集的文件和设置):

构建变体 > 构建类型 > 产品风味 > 主源集 > 库依赖项

配置文件

附录

1、从命令行构建和运行应用

./gradlew assembleDebug  // 打包输出apk文件./gradlew installDebug // 安装apk包

参考:

https://developer.android.com/studio/build/index.html

更多相关文章

  1. 一款常用的 Squid 日志分析工具
  2. GitHub 标星 8K+!一款开源替代 ls 的工具你值得拥有!
  3. RHEL 6 下 DHCP+TFTP+FTP+PXE+Kickstart 实现无人值守安装
  4. Linux 环境下实战 Rsync 备份工具及配置 rsync+inotify 实时同步
  5. 如何部署android sdk中的demo
  6. windows环境下获取安卓应用的MD5签名,SHA1签名,SHA256签名等(适用于
  7. Android之贴图-----
  8. Android存储子系统
  9. Android(安卓)MP3项目

随机推荐

  1. 使用Python中的POST将数据发送到PHP
  2. PHP按照 年、月、日创建递归目录
  3. PHP的语言特性-面向对象和C++/java/pytho
  4. 刷新php页面而不重载内容?
  5. 在php中,从字符串中删除逗号后的所有内容
  6. php,检查文本拆分的正确性
  7. 在php中调用父方法的多种方法
  8. centos7 升级php版本
  9. php 正则问题 \s的疑问,求教。。。。
  10. 我如何使用Wikipedia API