android自动化ANT编译

来源:互联网 发布:windows配置域名 编辑:程序博客网 时间:2024/04/29 05:01

虽然谷歌一直在推gradle自动打包编译。但是一个新的东西总是需要时间与成本的。其实做android开发不写编译脚本是没问题的。但是可能有特殊情况,比如需要一次编译多个版本,而各种版本之间的差异不大,比如只改了Androidmanifest.xml中的某些内容。这时才需要自己动手。

      如何花费最少的时间,最简单快速的完成这项工作,从而把尽力集中到开发。这是本文的目标。

     要简单要快当然是拿来用,首先在SDK的目录下找到官方提供的.build.xml脚本。打开就会发现代码特别多,注释也非常多。看懂它不是我们的目标,用才是。把这个脚本中一些部分看成功能模块就好,不用仔细研究。(因为谷歌每个版本.build.xml的改变都比较大,如果你修改模块的内容,下次更新时就比较痛苦了,所以最好的办法就是不修改,只用)。

     话不多说直接上需求

     1.要求一次编译多个APK,每个项目中只有少数的几个类不相同。

      解决思路:自己定义一个target,在target中多次调用编译打包,每次编译打包之前把不同类替换在走一遍完整的编译流程就行(至于完整流程包含些什么就不用care了)。

       a. 将不同的类放到项目不同的文件夹中并定义好文件路径

       b. 自定义一个target。关键代码如下:

<target name="realse_ump">
<!--开发-->
<!--替换开发需要的文件-->
<copy failonerror="true" file="${develop-ospath}" overwrite="true" tofile="${constants-ospath}" />
<!--设置发布jar路径及名称-->
<property name="obfuscated.jar.file" location="${outdir-build}/final.jar" />
<!--设置发布APK路径及名称-->
<property name="out.final.file" location="${outdir-build}/final.apk" />
<antcall target="clean" />

<antcall target="release" />

<!--测试-->
<!--替换测试需要的文件-->
<copy failonerror="true" file="${test-ospath}" overwrite="true" tofile="${constants-ospath}" />
<antcall target="clean" />
<antcall target="release" />
</target>

0 0
原创粉丝点击