博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android 自动编译、打包生成apk文件 3 - 使用SDK Ant方式
阅读量:4661 次
发布时间:2019-06-09

本文共 2656 字,大约阅读时间需要 8 分钟。

  相关文章列表:
《 》
《 》
《Android 自动编译、打包生成apk文件 3 - 使用SDK Ant方式》 (当前文章)
    之前第一篇和第二篇分别是都是完全自己手写代码,自己测试并执行所有命令行命令,并且把所有命令都用翻译成ant标签,现在可以使用ant自动打包了。
    但是还存在问题,首先前两步骤没有加混淆(proguard)支持,而且复用也要检查下修改哪些内容,或者跨平台需要修改.bat文件引用等。
    现在Android SDK中提供了包含之前写过的操作的封装,只需要使用一条命令android update project生成build.xml ,之后再修改配置文件支持不同特性即可,完全不用写ant代码,这些都由Android SDK自动生成。

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

1. 执行命令创建

[plain] 
 
  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] 
 
  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

 

转载于:https://www.cnblogs.com/suncoolcat/p/3315239.html

你可能感兴趣的文章
表格-鼠标经过单元格变色(暂不支持IE6)
查看>>
实时读取日志文件
查看>>
【寒假集训系列2.12】
查看>>
2018牛客多校第六场 I.Team Rocket
查看>>
c++初始化函数列表
查看>>
JS的this总结(上)-call()和apply()
查看>>
BZOJ 1984: 月下“毛景树”( 树链剖分 )
查看>>
理解 YOLO
查看>>
ActiveMQ中JMS的可靠性机制
查看>>
”语义“的理解
查看>>
近段时间学习html和CSS的一些细碎总结
查看>>
第三章 栈和队列
查看>>
「Vue」v-html生成的图片大小无法调整的解决办法
查看>>
【BZOJ 4665】 4665: 小w的喜糖 (DP+容斥)
查看>>
Git 的 .gitignore 配置
查看>>
Language Integrated Query ----序
查看>>
【HDU】1542 Atlantis
查看>>
解决Android SDK Manager更新时出现问题
查看>>
Android Studio下“Error:Could not find com.android.tools.build:gradle:2.2.1”的解决方法
查看>>
第二章 第四节 添加SWT库
查看>>