现在的位置: 首页 > 综合 > 正文

Android 工程用ant打包

2018年08月28日 ⁄ 综合 ⁄ 共 1619字 ⁄ 字号 评论关闭
文章目录

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

【上篇】
【下篇】

抱歉!评论已关闭.