zoukankan      html  css  js  c++  java
  • Android

    1.  背景:

        Eclipse用起来虽然方便,但是编译打包android项目还是比较慢,尤其当要将应用打包发布到各个渠道时,用Eclipse手动打包各种渠道包就有点不切实际了,这时候我们用到Ant帮我们自动编译打包了。

    2.  Ant 安装:

         ant的安装比较简单,下载ant压缩包(最新的为1.9.3版本),下载之后将其解压到某个目录(本人解压到E:Program Filesapache-ant-1.9.3) ,然后配置环境变量(新建ANT_HOME环境变量,值为ant所在的目录,然后将ANT_HOME/bin添加到path中),如图:
     
             
          
     
     
         打开命令行工具,输入 ant  -version ,如果出现如下结果,说明ant 安装成功。
     
          

    3. 对已存在的Android项目提供Ant支持:

       打开命令行工具,切换路径到项目所在的目录(比如我在E:GitHublikebambooandroid-menudrawermenudrawer-samples下有一个android项目),输入命令" android update project --name MenudrawSample -p ./ " 如下图:(其中 --name 参数是指定项目名称,可自己根据需要替换)。

         这时候我们可以看到在我们的项目根目录下多了build.xml,以及local.properties两个文件。

         其中local.properties写明了我们的android SDK的目录(其实是环境变量ANDROID_HOME的值,所以如果环境变量中没有这个的,请增加)。

          build.xml则是ant构建的最重要脚本,打开一看,发现里面其实大部分都是写注释,有用的没几行,这是因为生成的这个build.xml引用了android SDK自带的构建脚本,具体目录是{sdk目录}/tools/ant/build.xml 。

     
     

          这样,我们项目就支持ant编译打包了,但是,有人可能会说了,我的项目有引用第三方的jar包,而且还引用了其他的android library 项目,该怎么办呢? 请往下看:

    4. 项目引用了其他library项目:

          如果项目只是引用了第三方jar包,只要将jar包放在libs文件夹下就ok了,ant会在编译打包过程中会自动将第三方jar加进去的。但是当我们的android 项目参考了其他library项目,这时候我们最初在输入android update 命令的时候应该多一个参数 --subprojects : 

          你发现报错了,不要着急,这是因为那个library 还不支持ant自动编译,我们需要先让它也支持。

          进入到library项目所在的目录,输入命令 android update lib-project -p ./  (注意是 lib-project);

       再回到原项目,输入命令” android update project --name MenudrawSample -p ./ --subprojects ",这下就OK了。

    5. 编译打包项目:

           ant debug : 生成一个测试版apk,默认使用 debug key 进行签名,生成的apk(your_project_name-debug.apk)在bin目录下。

           ant release : 生成一个未签名和未aligned的apk包,生成的apk(your_project_name-release-unsigned.apk和your_project_name-release-unaligned.apk)在bin目录下

          PS:之前有用过ant的项目,中心打渠道包之前记得ant clean 哦,否则可能会出现奇怪的问题
          下一篇介绍怎么在ant编译打包的时候自动加入签名信息与自动打包渠道包的方法。
  • 相关阅读:
    ASP.NET 2.0的页面缓存功能介绍
    我对针对接口编程的浅解
    接口和抽象类的区别
    面向接口编程到底有什么好处
    泛型编程是什么
    方法的重写、重载及隐藏
    基于事件的编程有什么好处
    Socket Remoting WebService对比
    技术讲座:.NET委托、事件及应用兼谈软件项目开发
    ny589 糖果
  • 原文地址:https://www.cnblogs.com/ws5861/p/4250943.html
Copyright © 2011-2022 走看看