Android打包之Ant打入第三方jar包及zipalign对齐优化

Android打包之将bat脚本转换成ant脚本》实现了ant打包,只是需要打入第三方jar包时,需要对其中的compie和dex部分进行修改,下面是实现的ant脚本。

build.xml




    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

    

        
Initialize...











        

        

        
    

    

        
Generating R.java from the resources... 


        

        

            

            

            

            

            

            

            

            

            

            

            
        
    

    

        
Compile...



        

        

            

            

                
                
            
        
    

    

        
Generate dex...



        

        

            

            

            
            

            
            
        
    

    

        
   Package resource and assets...









        

        

            

            

            

            

            

            

            

            

            

            

            

            
        
    

    

        
  Build unsigned apk









        

        

            

            

            

            

            

            

            

            

            
        
    

    

        
  Sign apk


        

        

            

            

            

            

            

            

            

            

            

            
        
    

    

        
Zipalign...

        

        

            

            

            

            
        
    

    

        

        

        

        
APK is released. path:${zipalign-apk-path}


        
    



注:

1、compile部分的classpath所引用的jar包是为了辅助编译的,并没有将jar打包进去。dex部分最后的一个参数${libs}才是真正将第三方jar包打包进去的部分,即将其打包到classes.dex中。

2、compile中的compiler是特别指定所用的javac,listfiles为true是显示编译过程中编译的文件。

3、includeAntRuntime:其作用是指定编译任务是否包含ant的classpath,在Ant1.8版以后如果没有设置该选项会弹出警告“warning: ‘includeantruntime’ was not set”。在Ant 总会把它自己的 runtime包含进对 javac 任务可见的 classpath中。因此,任何与Ant有关的库都会自动进入你的构建类路径,不管你是否需要它们。这对大部分人来说可能是没必要的,因此,新的Ant版本提供了这个选项。新版本不提供默认值是为了保证早期构建文件的可移植性,即在不同Ant版本下,构建文件都能保持一致的行为

4、src相当于javac中的srcdir。src可以是多个。

5、zipalign进行4字节对齐的优化。具体的可以参看此文《简单优化:Zipalign》

源码下载

你可能感兴趣的:(ant,Android,android,ant,android打包)