Android 工程用ant打包

Android update/Ant release  打包

以前一直用这么一款批量打包工具:兰贝壳儿,这是个eclipse插件,很好用,不过在我的mac上出现了暂时不能解决的bug,你可以戳这里 查看 兰贝壳儿批量打包链接

接下来我便尝试用Android update 和 ant release 给android工程 打包,同事写了批量脚本,我只要测试ant打包通过就ok了.

对一个android工程打包也就两个步骤,我们往下看吧。下面的方法不支持外部工程(android lib)的引用方式构建。

第一步.用Android update构建build文件
sdk的tool文件夹下有一个叫android的可执行文件(最好把/sdk/tool/配置到环境变量中,方便使用),用它来执行以下命令
android update project --name projectName --target android-14 --path ./
1.name后面的参数 projectName是你的项目工程名
2.target 后面的参数是你指定的api
3.path是工程路径, ./  也就是当前目录
执行以上命令后你的工程目录下会多了一个build.xml文件、一个project.properties文件和另外两个文件(这两个文件我暂时没用到)
 
第二步.用ant打包工程
首先你要有自己的keystore,怎么生成keystore同学们自己查查吧,还有建议大家用apache ant的最新版本,戳这里  最新的ant
下面是ant的命令格式
ant release -buildfile /user/.../myProject/build.xml -propertyfile /user/.../myProject/project.properties  -Dkey.store=/user/.../myProject/myproject.keystore -Dkey.alias=aliasName -Dkey.store.password=123456 -Dkey.alias.password=1233456
1.-buildfile 后面的参数是build.xml路径<pre name="code" class="plain">
2.-propertyfile后面的参数是projet.properties路径
3.-Dkey.store后面的参数是 keystore路径
 
  
 
  
 
  
执行这个命令后ant就开始帮你打包工程了,打包过程有一些waning信息,忽略就行,你懂的。如果报错了,往下看。

问题记录:

1.Android  SDK 升级问题:API 升级到20后  /sdk/tool/proguard文件夹 就不存在了   不能够混淆编译   

这个issue在这里https://code.google.com/p/android/issues/detail?id=72419   我的临时解决方案是 备份好那个文件夹在升级, 然后 粘贴回来

2.如果配置了proguard文件,ant打包的时候可能会报错,需要在proguard.cfg配置一些你要忽略的文件

比如说的工程是低版本的target api 可是support v4却用了一些高版本的api,ant执行是会找不到它的reference,你需要在proguard.cfg中这样写

-libraryjars libs/android-support-v4.jar
-keep class android.support.**{*;}
-dontwarn android.support.v4.**
在比如说你的jar包有一些java的api引用,可这些api  android却没有提供,就像junit,那么你同样需要在proguard中声明类似上面的代码。


3.写代码时建议用最新的API,同时manifest.xml中需要指定min-sdk,eclipse会帮助提示你是否对低版本不兼容,sdk manager也用最新的build API






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值