《Android 自动编译、打包生成apk文件 3 - 使用SDK Ant方式》 (当前文章)

之前第一篇和第二篇分别是都是完全自己手写代码,自己测试并执行所有命令行命令,并且把所有命令都用翻译成ant标签,现在可以使用ant自动打包了。

    但是还存在问题,首先前两步骤没有加混淆(proguard)支持,而且复用也要检查下修改哪些内容,或者跨平台需要修改.bat文件引用等。
    现在Android SDK中提供了包含之前写过的操作的封装,只需要使用一条命令android update project生成build.xml ,之后再修改配置文件支持不同特性即可,完全不用写ant代码,这些都由Android SDK自动生成。


一、生成SDK 命令生成build.xml文件


1. 执行命令创建

[plain] 
view plain
copy
print
?

 

  1. D:\ProjectDemo>android update project --name ProjectDemo --target 8 --path ./
  2. Updated project.properties
  3. Updated local.properties
  4. Added file D:\ProjectDemo\build.xml
  5. Updated file D:\ProjectDemo\proguard.cfg

2. 结果


执行此命令会生成4个文件:


project.properties


local.properties


build.xml


proguard.cfg

3. 参数解释


--name ProjectDemo  项目名称


--target 8          指定项目Android版本


--path ./           指定项目路径

如果不知道target后面使用哪个版本,可以使用如下命令查看本地支持Android版本号:


列出不同版本平台的对应id编号


android list targets

4. 相关资料


如果想了解android update project命令更多使用介绍,可以查看Android官方网站:


《Managing Projects from the Command Line》


http://developer.android.com/tools/projects/projects-cmdline.html


如果想了解andorid 命令参及含义,可以查看:


http://developer.android.com/tools/help/android.html

二、手动配置一些属性


1. 设置SDK路径


修改local.properties文件以下属性值,指定到本地SDK目录


sdk.dir=


例如:


sdk.dir=D:\\android-sdk-windows

2. 设置签名属性


把创建的密匙release.keystore放到当前目录下,并在此目录下创建ant.properties空文件,填入以下内容


key.store=release.keystore


key.store.password=antPassword


key.alias.password=antPassword


key.alias=release


proguard.config=proguard.cfg

三、使用ant运行项目

[plain] 
view plain
copy
print
?

 

  1. ant release

可选:


debug:带调试用签名的构建


release:构建应用程序,生成的apk必须签名才可以发布


install:安装调试构建的包到运行着的模拟器或者设备;

通常ant项目只需要执行ant命令即可,但是Android提供了扩展参数,更多参数可以查看以下网址Ant Command Reference部分:


《Building and Running from the Command Line》


http://developer.android.com/tools/building/building-cmdline.html

四、异常记录


异常一、


BUILD FAILED


D:\ProjectDemo\build.xml:83: Cannot find D:\ProjectDemo\android-sdk-windows\tools\ant\build.xml imported from D:\ProjectDemo\build.xml


修改local.projects,必须是双斜杠


sdk.dir=D:\\android-sdk-windows

异常二:


     [aapt] D:\ProjectDemo\res\layout\activity_main.xml:2: error: Error: String types not allowed (at 'layout_width' with value 'match_parent').


     [aapt] D:\ProjectDemo\res\layout\activity_main.xml:2: error: Error: String types not allowed (at 'layout_height' with value 'match_parent').

BUILD FAILED


D:android-sdk-windows\tools\ant\build.xml:650: The following error occurred while executing this line:


D:android-sdk-windows\tools\ant\build.xml:691: null returned: 1

Total time: 1 second

当前Andorid版本不支持match_parent属性值,match_parent是Android 8以后开始支持的属性值,修改AndroidManifest中<uses-sdk android:minSdkVersion="8" />最少也要大于8。不过也可以把match_parent改为FILL_PARENT


转载请注明出处:http://blog.csdn.net/androiddevelop/article/details/11553215



Android 自动编译、打包生成apk文件 3 - 使用SDK Ant方式的更多相关文章

  1. Android 自动编译、打包生成apk文件 2 - 使用原生Ant方式

    from://http://blog.csdn.net/androiddevelop/article/details/11100109 相关文章列表: <Android 自动编译.打包生成apk ...

  2. Android 自动编译、打包生成apk文件 4 - 多渠道批量打包

    相关文章列表: < Android 自动编译.打包生成apk文件 1 - 命令行方式> < Android 自动编译.打包生成apk文件 2 - 使用原生Ant方式 > < ...

  3. linux(以ubuntu为例)下Android利用ant自动编译、修改配置文件、批量多渠道,打包生成apk文件

    原创,转载请注明:http://www.cnblogs.com/ycxyyzw/p/4555328.html  之前写过一篇<windows下Android利用ant自动编译.修改配置文件.批量 ...

  4. 使用ant自动编译、打包生成apk文件

    上次使用命令行生成apk文件<Android 命令行编译.打包生成apk文件>,学习命令行生成的目的是为了编写ant打下基础. 一. ant环境 下载ant包,配置环境变量 二.ant编译 ...

  5. windows下Android利用ant自动编译、修改配置文件、批量多渠道,打包生成apk文件

    原创文章,转载请注明:http://www.cnblogs.com/ycxyyzw/p/4535459.html android 程序打包成apk,如果在是命令行方式,一般都要经过如下步骤: 1.用a ...

  6. 在eclipse中将android工程打包生成apk文件

    1.)生成keystore 按照下面的命令行 在C:\Program Files\Java\jdk1.6.0_10\bin>目录下,输入keytool -genkey -alias androi ...

  7. Android 手机卫士--打包生成apk维护到服务器

    项目打包生成apk过程: 1.生成签名文件,并且指定所在位置 2.使用生成的签名文件,给工程打包生成一个apk 本文地址:http://www.cnblogs.com/wuyudong/p/59033 ...

  8. 用eclipse编写Android程序时怎样生成apk文件

    转载请注明出处:http://blog.csdn.net/ns_code/article/details/16828449 APK是Android Package的缩写,即Android安装包.通过将 ...

  9. Android 命令行编译、打包生成apk文件

    一.搭建搭建环境 1. 安装JDK 和 Android SDK   2. 配置环境变量 D:\android-sdk-windows\tools C:\Program Files\Java\jdk1. ...

随机推荐

  1. (1)html初步--表格的使用

    用表格标签制作简历 html代码: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" " ...

  2. 矩阵转置 O(1)空间

    题目:用O(1)的空间实现矩阵的转置 为了方便,使用一维数组来分析.所谓矩阵转置,行变列,列变行.在转置的过程中,有的元素位置是不变的:对于变化位置的元素,要求O(1)空间完成,那么这些位置的变化一定 ...

  3. Asp.Net MVC4配置Ext.Net

    首先,下载MVC用的DLL包(Ext.NET.MVC.Pro.2.2.0.zip).讲DLL文件拷贝到工程bin目录下,引用进工程. 第二步,配置Views文件夹下的web.config文件(具体文字 ...

  4. 学习Emacs系列教程

    emacs最简单入门,只要10分钟 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 3 ...

  5. Div布局案例

    通常看到这个页面,会想到它是有几块组成的. 第一块,分销佣金. 第二块,包括代言.商品.二维码 其中代言又是左右结构. 于是乎基本的div结构就出来了. <div class="row ...

  6. 一步一步实现AS3拖放组件

    外话: 我之前在天地会上发布过一个拖放组件,http://bbs.9ria.com/thread-117535-1-1.html 应该有人看过吧,那时候年纪轻轻,写了个东西,那时候基本能满足需求 但是 ...

  7. 推荐一些C#相关的网站、资源和书籍(转载)

    原文地址:http://blog.csdn.net/chinacsharper/article/details/17514923 一.网站 1.http://msdn.microsoft.com/zh ...

  8. Javascript基本算法演练 Seek and Destroy

    转载自:http://aeroj-blog.logdown.com/posts/435808 Seek and Destroy You will be provided with an initial ...

  9. wchar_t 、UTF-8、UTF-16的转换方法 - luketty的专栏 - 博客频道 - CSDN.NET

    wchar_t .UTF-8.UTF-16的转换方法 - luketty的专栏 - 博客频道 - CSDN.NET wchar_t .UTF-8.UTF-16的转换方法

  10. 火星A+B(字符串整形转化,进制)

    Description 读入两个不超过25位的火星正整数A和B,计算A+B.需要注意的是:在火星上,整数不是单一进制的,第n位的进制就是第n个素数.例如:地球上的10进制数2,在火星上记为“1,0”, ...