相关文章列表:
《 Android 自动编译、打包生成apk文件 1 - 命令行方式》 《 Android 自动编译、打包生成apk文件 2 - 使用原生Ant方式》 《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>androidupdateproject--nameProjectDemo--target8--path./
  2. Updatedproject.properties
  3. Updatedlocal.properties
  4. AddedfileD:\ProjectDemo\build.xml
  5. UpdatedfileD:\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. antrelease

可选:
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


更多相关文章

  1. android 4.0.4系统下实现apk的静默安装和启动
  2. Android内核的简单分析
  3. Android内核的简单分析
  4. android中如何执行java命令
  5. Android库so文件及skia函数的调用
  6. Android之NDK开发
  7. Android(安卓)打包之三配置文件
  8. AVD 简介
  9. android布局文件属性说明(转)

随机推荐

  1. windows下使用adb工具查看android程序cpu
  2. Android的进程、线程与优先级
  3. 谈一谈自己为什么要写博客
  4. 使用AutoFitTextView解决安卓系统字体变
  5. Android(安卓)百度地图开发源码示例 ——
  6. 【笔记】颜色渐变标签之坑爹的 @android:
  7. Android项目技术总结:项目中选择任务的联
  8. android的线程安全
  9. socket和HTTP在Android中的连接请求问题
  10. Android无线调试——抛开USB数据线