Android源码解析(一)Android项目构建过程

平时开发过程中我们通过android studio编写完成android项目之后直接点击 Run ‘app’就可以在build/outputs/apk生成可以在android设备中安装的apk文件了,那么整个android源码的构建过程是怎么样的呢?

根据Google官方提供的流程图来具体了解构建的过程:

这里写图片描述

通常的构建过程就是如上图所示,下面是具体描述:

  1. AAPT(Android Asset Packaging Tool)工具会打包应用中的资源文件,如AndroidManifest.xml、layout布局中的xml等,并将xml文件编译为二进制形式,当然assets文件夹中的文件不会被编译,图片及raw文件夹中的资源也会保持原来的形态,需要注意的是raw文件夹中的资源也会生成资源id。AAPT编译完成之后会生成R.java文件。

  2. AIDL工具会将所有的aidl接口变成java接口

  3. 所有的Java代码,aidl文件,R.java都会被java编译器变成.class文件

  4. Dex工具会将上述产生的.class文件及第三方库及其他的.class文件编译成.dex文件(dex文件是Dalvik虚拟机的可执行格式),dex文件最终会被打包进apk文件

  5. ApkBuilder工具会将编译过的资源以及未编译过的资源(如图片,音频等)以及.dex文件打包成apk文件

  6. 生成APK文件后,需要对其签名才可安装到设备,平时测试时会使用debug keystore,当正式发布应用时必须使用release版的keystore对应用进行签名。

  7. 如果对APK正式签名,还需要使用zipalign工具对APK进行对齐操作,这样做的好处是当应用运行时会提高速度,但是相应的会增加内存的开销。

转自:http://blog.csdn.net/qq_23547831/article/details/50634435

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值