LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

Android程序自动化打包(ant多工程)及相关问题处理

admin
2014年11月24日 21:54 本文热度 5617
  • 概述
  • 在一般的Android开发中,我们通常使用Eclipse自带的导出工具来进行App的签名和发布,Android自动化打包,就是利用脚本将这样一个手动操作的过程转化为一个命令搞定。
    • 准备
    需要配置好JDK、Android SDK和Ant的环境,具体参见本人的上一篇博客:点击打开链接
    • 步骤
    1. 准备好项目的源码和依赖库源码,最好放在同一级目录下,确保源码和依赖库可在IDE中编译成功,这样就无需调整project.properties文件中依赖库的相对位置了。
    2. 打开CMD命令行,进入到依赖库源码目录,执行android update lib-project -p . -t android-17,这个命令的作用是在依赖库下生成自动打包相关的文件,-p .的意思是在当前根目录下执行,-t android-17的意思是此源码使用android-17 api进行编译,各位根据自己的项目情况自行修改,所有的依赖库都要执行这一步操作。
    3. 打开CMD命令行,进入到源码根目录,执行android update project -p . -t android-17,这个命令的作用是在源码下生成自动打包相关的文件。
    4. 打开CMD命令行,进入到源码根目录,执行ant clean,然后ant debug,如果打包成功,可以在源代码的bin目录下看到未签名的apk文件。
    5. 想要生成签名文件,需要在源码根目录下建立ant.properties文件,内容如下:
      1. #包名
      2. application.package=com.nomouse
      3. #项目名,缺省时源码文件名
      4. ant.project.name=
      5. #编码方式
      6. java.encoding=utf-8
      7. #编译输出绝对路径
      8. out.absolute.dir=d:/out
      9. #生成文件绝对路径
      10. gos.path=d:/out
      11. #签名key文件绝对路径
      12. key.store=D:/adt-bundle/Nomouse
      13. #签名文件密码
      14. key.store.password=password
      15. #签名别称,中文的话需要转成utf-8编码,可以使用JDK自带的native2ascii工具
      16. key.alias=\u4f01\u4e1a
      17. #签名别称密码
      18. key.alias.password=password
    6. 打开CMD命令行,进入到源码根目录,执行ant release,成功的话可以在d:/out目录下看到输出的App签名文件。



    问题一:

    用Ant编译时报如下错误

    compile:
    [javac] Compiling 1 source file to D:\workspace\cwk\build\classes
    [javac] D:\workspace\cwk\src\core\com\cwk\core\web\action\LoginController.java:1: 非法字符: \65279
    [javac] package com.cwk.core.web.action;
    [javac] ^
    [javac] 1 错误

    BUILD FAILED
    D:\workspace\admet\build.xml:181: Compile failed; see the compiler error output for details.

    该问题是由于文件的字符编码不正确,请用notepad++保存文件格式为utf-8无DOM格式



    问题二:

    [aapt] invalid resource directory name: E:\我的依赖工程\bin\res/crunch 这个问题一般是因为sdk的版本比较高,会自动生成crunch目录,而ant的在编译的时候总是不识别bin下编译好的资源,所以忽略crunch目录就好了

    解决方法:打开本地sdk根目录tools》ant》build.xml 找到: <property name="aapt.ignore.assets" value="" /> 改为: <property name="aapt.ignore.assets" value="crunch" /> 问题得到解决。



    问题三:
    解决方法如图所示:


    该文章在 2014/11/24 21:54:12 编辑过
    关键字查询
    相关文章
    正在查询...
    点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
    点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
    点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
    点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
    Copyright 2010-2024 ClickSun All Rights Reserved