Ant自动封装

Ant自动打包

 Ant使用

 

ant的官网http://ant.apache.org进行下载后apache-ant-1.8.2

解压(存放的路径不要有中文字符)

ant里的lib设置到环境变量:E:\Android\apache-ant-1.8.2\lib

这样在命令行里就可以直接使用ant

学习资料:
1.  ant
使用指南.rar

2. 文档:apache-ant-1.8.2/docs/manual/index.html下的Ant Tasks à List of Tasks

 

 

AntFor循环

 

ant的核心包里没有相关的For循环的Task,要下载相应的扩展包,已经有人写过了。

扩展包:Ant-contrib包就是一个里面有For循环的扩展包。

下载地址:http://ant-contrib.sourceforge.net/

使用这个扩展包中的for循环的介绍:http://enjoyyou.blog.hexun.com/41449457_d.html

ant-contrib里的lib包复制到apache-ant-1.8.2\lib下面,就可以了

 

 

混淆proguard

 

混淆proguard是一个开源项目,ant自动打包的过程用的就是这个开源项目,在android-sdk-windows\tools目录下有一个proguard文件夹,里面就有这相应的jar

Android sdk里自带的proguard jar包有一个bug,对于一些方法在混淆时会报异常,要解决这个bug,只需要去proguard的官网http://proguard.sourceforge.net/下载最新的jarproguard4.6

下载下来后,用proguard4.6\lib里的jar包替换android-sdk-windows\tools\proguard\lib里的jar,用proguard4.6\lib\bin里的以.bat结尾的文件替换android-sdk-windows\tools\proguard\bin里的文件

 

 

下载svn里的项目(svnant

 

因为我们的项目是用svn来进行托管,所以需要用ant来下载最新代码,根据服务器所用的svnservice的版本去svnant的官网http://subclipse.tigris.org/svnant.html 下载svnant的版本,我用的是:svnant-1.1.0-RC2

然后只要把svnant-1.1.0-RC2\lib里的jar包复制到apache-ant-1.8.2\lib里就可以了

在下载下来的jar里,有相应的doc文档,可以知道怎么使用

 

写脚本,布署项目

 

  1. 在项目里要加入几个文件(build.properties, build.xml, local.properties, proguard.cfg, 怎样得到这些文件了,只需要用命令创建一个android项目,就可以得到这些文件(这些文件对于不同的项目,基本上是一样的):
    Ant自动封装
    现在来说说这几个文件:
    1
    . Build.xml文件:这个文件是ant运行时脚本,这是一个固定的模板,其中主要需要变动的是:<project name="MyAndroidApp" default="help">里的name属性,这个属性的唯一作用是用于命名生成的apk文件(如MyAndroidApp-release.apk);但注意,这个文件不要在eclipse里打开,如果打开了会报错,解决办法只有把这个文件先删除再复制进去。
    2
    . Build.properties文件:这是一个属性文件,可以更改编译时的一些属性,我主要用到的是下面几个属性
    Ant自动封装
    jar.libs.dir表示如果你引用的第三方jar包的路径,其default=libs
    java.encoding
    表示文件的编码,其default=gbk
    key.store
    表示key的路径,如:xx/xxxx.keystore
    key.alias
    表示key的别名,这个别名不要带路径
    key.store.password, key.alias.password
    就不用说了。
    3. Local.properties文件:这个也是一个属性文件,其中用于记录sdk.dir的路径
    Ant自动封装
     4. proguard.cfg文件:这个是混淆配置文件,其中的大部分是都是一样的,只要根据模板走就行了,其中主要是注意两点:
    *. -keep class * extends android.view.View 这个表示自定义的view对象不做混淆,其默认情况下是没有的,但这个必须要写,因为我们会在xml文件里使用其全路径
    *. -dontwarn com.mapbar.android.**这名话很重要,如果我们使用了第三方的jar包,编译时也会对第三方的jar进行混淆,如果第三方法的jar包里有类所关联的类没有加入到这个jar包中,则在编译时,会warn,而且这个warn会让编译过程终止。而这句话的意思是,不要抛出前缀为com.mapbar.androidwarn,这样就不会终止编译过程了。
  2.  ant脚本和配置文件(build.xml, build.properties)

     a). build.properties是一个属性文件,是一些打包的配置文件

    Ant自动封装
    Ant自动封装
    Ant自动封装 

    b). build.xml文件的写法:
    Ant自动封装

    Ant自动封装
    Ant自动封装
    Ant自动封装
    Ant自动封装
    Ant自动封装
    Ant自动封装
    Ant自动封装
    Ant自动封装
    Ant自动封装
    Ant自动封装
    Ant自动封装
    Ant自动封装
    Ant自动封装
    Ant自动封装
    Ant自动封装

  3. 使用:只要打开命令行,进入这个目录,一个ant命令就行。


 

1 楼 yangjiaweivip 2011-09-29  
楼主能给我一个全的build.xml和default.properties您可以把一些关键密码删除掉,我现在看了许多,您的比较全面
2 楼 枫叶灬紫云 2011-09-30  
同上,希望楼主看到后可以给个完整点的文件包,现在一个工程一大包就得一两百个,研究了下ant,还是有不少疑问,希望能帮下忙,非常感谢!!!Ant自动封装 Ant自动封装 Ant自动封装 Ant自动封装 Ant自动封装 Ant自动封装 Ant自动封装 Ant自动封装 Ant自动封装 Ant自动封装 Ant自动封装 Ant自动封装 Ant自动封装 Ant自动封装 Ant自动封装
3 楼 枫叶灬紫云 2011-09-30  
楼主看到话,发到这个邮箱,非常感谢 471029411@qq.com
4 楼 三毛 2011-11-03  
您太给力啦
5 楼 hshm 2011-11-22  
楼主,能把default.properties放出来么?
6 楼 巩建军 2012-02-03  
楼主可以给我一个全的build.xml和default.properties吗?您可以把关键信息处理掉,邮箱guhong@yeah.net
7 楼 seamount 2012-02-10  
大哥帮忙给个完整的TestDemo好不,搞了半天也没搞定。。。谢谢了pursuemoon@qq.com
8 楼 mariner 2012-03-16  
请楼主分享一份完整点的文件包,多谢。1239066763@qq.com
9 楼 zkl905138211 2012-03-19  
请楼主分享一下完整的包(credentials.xml)90513811@qq.com,非常感谢
10 楼 475310736 2012-05-16  
楼主啊给个demo好不,1771893348@qq.com
11 楼 libo19881179 2012-06-01  
楼主能不截图吗...求个源码 谢谢了 812258893@qq.com
12 楼 libo19881179 2012-06-01  
libo19881179 写道
楼主能不截图吗...求个源码 谢谢了 812258893@qq.com

最好能去掉svn部分
13 楼 fhsh168 2012-06-11  
求一份源码,非常感谢  576673831@qq.com