ANT自动化构建

Android应用的自动化构建,目前有Ant和Gradle两种方式,本文主要记录自己学习ANT自动化构建Android应用的入门实践。借鉴http://www.oschina.net/question/54100_30501。

一、Android应用打包流程

步骤 说明 工具
1 生成R.java文件 aapt
2 生成AIDL对应的java源文件 aidl
3 编译java源文件生成class文件 javac
4 class文件转换为Android虚拟机能执行的dex文件 dx
5 打包资源为resources.ap_文件 aapt
6 生成未签名的apk文件 apkbuilder
7 签名apk文件 jarsigner
8 通过字节码对齐工具优化apk zipalign

二、项目结构

测试Demo项目结构如下:


ANT自动化构建_第1张图片

在原有项目结构的基础上,加入了一个build.xml文件,两个签名文件,以及两个bat文件,通过执行bat文件,可以自动化构建对应的debug包或release包。
debug_build.bat :

@echo off
call ant -buildfile "build.xml" debug
echo done
pause
exit

release_build.bat :

@echo off
call ant -buildfile "build.xml" release
echo done
pause
exit

三、build.xml文件

build.xml是整个构建中最重要的一环,其中包含了各模块的编译信息以及调用情况,这里需要注意的是,不同的开发平台路径有所不同,需要根据自己的路径调整(根据adt版本不同,apkbuilder需要自行下载)。具体内容如下:

1. 定义常量





























































 

2. 清理资源,初始化文件路径



    Initializing all output directories...
    
    
    

3. 通过aapt工具生成R.java文件



    Generating R.java from the resources...
    
        
        
        
        
        
        
        
        
        
        
        
    

4. 通过aidl生成相关的java源文件



    Compiling .aidl into java files...
    
        
        
        
        
        
        
        
        
            
        
    

5. 编译java源文件



    Compiling java source code...
    
        
            
            
                
            
        
    

6. 生成dex文件



    Converting compiled files and external libraries into a .dex file...
    
        
        
        
        
        
        
    

7. 资源文件打包



    Packaging resources and assets...
    
        
        
        
        
        
        
        
        
        
        
        
        
    

8. 生成未签名的APK



    Packaging unsigned apk for release...
    
        
        
        
        
        
        
        
        
    
    It will need to be signed with jarsigner before being published.

9. 生成测试签名APK



    Packaging signed apk for debug...
    
        
        
        
        
        
        
        
        
        
        
    

10. 生成正式签名APK



    Packaging signed apk for release...
    
        
        
        
        
        
        
        
        
        
        
        
    

11. 生成正式签名包



    
    
    build release apk success...

12. 生成测试签名包



    
    
    build debug apk success...

你可能感兴趣的:(ANT自动化构建)