Gradle in Android Studio (1) - 构建系统概述

构建系统概述

Android构建系统是用于构建,测试,运行和打包app的工具包。构建系统可以集成到Android Studio菜单中,也可以单独使用命令行运行。构建系统的特点:
- 自定义,配置和扩展构建过程;
- 为同一个project或者moudles,创建多个不同的APP;
- 重用代码和资源。

原文地址

转载请注明出处 : http://blog.csdn.net/hpu_zyh/article/details/48447081
博客主页 | 简书 | 知乎 | 微博 | github

构建过程

构建.apk文件的过程涉及到许多工具,并且产生一些中间文件。如果您正在使用Android Studio,每次执行你的project或者moduleGradle build task 都可以看到完整的构建过程。构建过程是非常灵活的,大部分的构建过程都是可配置和可扩展的。下图描述了构建过程中涉及的一些工具和构建流程:
这里写图片描述

一个典型的构建过程的一般如上图所示。构建系统读取配置的product flavors build types dependencies,然后合并所有的资源。如果不同的文件夹中包含相同的资源名称或设置,下面覆盖的优先顺序是:dependencies覆盖build typesbuild types覆盖product flavorsproduct flavors覆盖源代码目录
- Android的资产打包工具(AAPT)把你的应用程序资源文件进行编译,如AndroidManifest.xml文件和一些XML文件R.java文件是由你的Java代码中引用的资源自动生成的。
- aidl工具,将.aidl接口转换成Java接口
- 所有的Java代码,包括R.java.aidl文件,由Java编译器编译成.class文件
- DEX工具转换.class文件的Dalvik字节码。使用的第三方库.class文件也被转换成.dex文件,以便它们可以被打包成最终的.apk文件
- 所有非编译资源(如图片),已编译的资源,以及.dex文件被发送到apkbuilder工具打包成一个apk文件。
- 一旦apk文件生成,它在安装之前需要使用debug或者release key进行签名 。
- 最后,应用程序被签名后,使用zipalign工具压缩.apk文件, 减少最终的.apk所占空间

注:应用程序被限制在64K方法参考限值。如果您的应用程序达到此限制,构建过程输出以下错误信息:

Unable to execute dex: method ID not in [0, 0xffff]: 65536.

为了避免这种错误,请参阅构建应用程序与在65K方法

构建输出

构建生成APK每个 build variantapp/build文件夹app/build/outputs/apk/目录中包含一个名为app-<flavor>-<buildtype>.apk的 .apk文件;例如, app-full-release.apkapp-demo-debug.apk.

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值