Android Studio构建系统概述(Build System Overview)

原文网址:http://developer.android.com/sdk/installing/studio-build.html#detailed-build

Android 构建系统是用于构建、测试、运行和打包你app的工具。构建系统可以作为Android Studio菜单的集成工具使用也可以在命令行中独立运行。构建系统可用的特性有:

  1. 定制、配置、扩展构建过程
  2. 使用同一个工程和模块为你的app创建多个具有不同特性的APK
  3. 复用源代码集中的代码和资源(博主不太明白这句话的含义,原文为Reuse code and resources across source sets) 
 Android构建系统的灵活性使我们在不改变app核心源文件的时候获得上述特性。如何构建一个Android Studio工程,参见Building and Running from Android Studio(后续翻译)。如何配置Android Studio工程常用的构建设置,参见Configuring Gradle Builds(后续翻译)

构建过程详解

构建的过程涉及很多工具和处理生成中间文件用于产生apk文件。如果你使用Android Studio开发,完整的构建过程将在每次你运行工程或者模块的Gradle构建任务后执行。构建的过程非常灵活所以很有用,明白帽子(hood)下具体发生了什么许多的构建过程是可配置和扩展的。下图描述了构建中涉及到的不同工具和处理过程。


一个典型的构建过程如下概述,构建系统合并所有的资源从配置的产品口味、构建类型和依赖。如果不同的文件夹包含同名或者同样设置的资源,覆盖的优先级顺序为:构建类型覆盖依赖、产品品味、主要源目录覆盖。

  • 安卓资产打包工具(Android Asset Packageing Tool),把你的应用资源文件,例如AndroidManifest.xml文件和Activities的XML文件编译。生成R.java文件,你可以在你的java代码中引用你的资源
  • aidl工具将所有的aidl接口转化为java接口
  • 所有的java代码包括R.java和aidl文件,由java编译器编译成.class文件并输出
  • dex工具转换.class文件为Dalvik虚拟机的字节码。模块中包含的第三方库和.class文件同样会转换到.dex文件中,所以你可以将他们打包到最终的apk文件
  • 所有的不需要编译的资源,例如图片,编译好的资源,.dex文件送至apkbuilder tool,然后打包至apk文件
  • apk文件构建好之后,如果要安装到设备上,还必须被利用debug或者release key对apk签名
  • 最终,如果应用利用release模式签名,开发者还必须使用zipalign tool将apk对齐。对齐后的apk文件减少了运行在设备时的内存占用
注意:app有64K大小的方法引用限制。如果你的app达到了这个限制,构建的过程会输入如下的错误:Unable to execute dex:method ID not in [0,0xffff]:65536,如何避免此错,见Building Apps with Over 65k Methods(后续翻译).

构建输出

构建为每种构建变量在app/builder文件夹中生成相应的apk,app/build/outputs/apk/文件夹包含报名app-<flavor>-<buildtype>.apk。例如,app-full-release.apk和app-demo-debug.apk(码哥表示在Android Studio1.1.0中没有找到对应的文件夹和文件啊!!!)




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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值