HelloWord打包
1:-set-release-mode
定义输出apk的位置
及一些其他属性设置
2:-release-obfuscation-check
检测proguard.config是否设置
3:-check-env
检测sdk目录
4:-setup
获取AndroidManifest.xml中的包名
5:-build-setup
如果上次是打的debug包,这次打的release包或
上次打的release包,这次打的debug包
则删除bin/classes目录
创建res目录
创建libs
创建bin/res
创建bin/rsObj
创建bin/rsLibs
创建gen
创建bin/classes
创建bin/dexedLibs
设置dependency
6:-code-gen
使用mergemanifest将AndroidManifest.xml中的改变merge到bin/AndroidManifest.xml
调用aidl
调用aapt生成R.java
生成BuildConfig.class
7:-compile
调用javac生成.class文件
8:-obfuscate
没有进行混淆
9:-dex
利用dex将bin/dexedLibs下的jar文件和bin/classes下的.class文件以及工程下的所有jar文件生成bin/classes.dex
10:-crunch
利用aapt crunch将res中的png压缩到bin/res中
11:-package-resources
调用aapt将AndroidManifest.xml,assets,res等资源打包为bin/${ant.project.name}.ap_
12:-package
调用apkbuilder将bin/${ant.project.name}.ap_,bin/classes.dex等资源打包成bin/${ant.project.name}-release-unsigned.apk
13:-release-nosign
如果没有设置keystore则提示用户手动签名和对齐
14:-release-sign
如果设置了keystore则调用signapk对bin/${ant.project.name}-release-unsigned.apk签名生成bin/${ant.project.name}-release-unaligned.apk
调用zipalign将bin/${ant.project.name}-release-unaligned.apk生成bin/${ant.project.name}-release.apk