您的位置:首页 > 移动开发 > Android开发

Android 自动编译、打包生成apk文件 3 - 使用SDK Ant方式

2014-06-20 11:02 866 查看
  相关文章列表: 

《 Android 自动编译、打包生成apk文件 1 - 命令行方式 》

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

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

    但是还存在问题,首先前两步骤没有加混淆(proguard)支持,而且复用也要检查下修改哪些内容,或者跨平台需要修改.bat文件引用等。

    现在Android SDK中提供了包含之前写过的操作的封装,只需要使用一条命令android update project生成build.xml ,之后再修改配置文件支持不同特性即可,完全不用写ant代码,这些都由Android SDK自动生成。

一、生成SDK 命令生成build.xml文件 
1. 执行命令创建 

[plain]   view plain copy print ?

D:\ProjectDemo>android update project --name ProjectDemo --target 8 --path ./  
Updated project.properties  
Updated local.properties  
Added file D:\ProjectDemo\build.xml  
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 ?

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐