android开发使用SDK与ANT实现自动打包(混淆、签名)
2016-01-18 14:55
871 查看
android 开发中,现有的开发工具ADT与Studio,而Studio中打包较简单,方便,这里呢就不多讲了,至于在ADT中打包,也有几种方法,ADT自带的,繁琐、麻烦,易出错,也有写ant脚本自动执行的,这里呢我介绍一种很简单的方式。
它是使用SDK自带的ant文件下的build.xml,路径sdk\tools\ant\build.xml,
需要安装ANT,至于ANT的安装与环境变量的配置,网上很多,就不多说了,
之后就可以自动打包了,我使用cmd命令行,写成bat脚本执行:
title consignor打包&& D: && cd D:\workspace\ifm-android-common&& android update lib-project -p ./&& cd D:\workspace\ifm-android-update&& android update lib-project -p ./&& cd D:\workspace\ifm-android-image&& android update lib-project -p ./&& cd D:\workspace\ifm-android-consignor&&
android update project --name ifm-android-consignor -t android-19 -p D:\workspace\ifm-android-consignor&& android update project --name consignor -t android-19 -p ./ --subprojects&& ant release&& echo ------------------ 恭喜你使用BAT成功打包 ------------------&
pause
上面的命令之间不可以打回车!下面的拆分只是为讲解方便
title consignor打包 --------cmd显示标题
&& cd D:\workspace\ifm-android-consignor --------定向到android工程路径
&& android update project --name ifm-android-consignor -t android-19 -p D:\workspace\ifm-android-consignor --------更新D:\workspace\ifm-android-consignor下的 project.properties,local.properties,build.xml
其中project.properties写明了我们的android SDK的版本,混淆文件目录,引入的library。
其中local.properties写明了我们的android SDK的目录(其实是环境变量ANDROID_HOME的值,所以如果环境变量中没有这个的,请增加)。
build.xml则是ant构建的最重要脚本,生成的这个build.xml引用了android SDK自带的构建脚本。
&& ant release
让 library 支持ant自动编译:
&& android update project --name consignor -t android-19 -p ./ --subprojects ---------consignor(打包后的apk名字)
&& D: && cd D:\workspace\ifm-android-common
&& android update lib-project -p ./
&& cd D:\workspace\ifm-android-update
&& android update lib-project -p ./
&& cd D:\workspace\ifm-android-image
&& android update lib-project -p ./
另外在相关的.properties中可以添加打包所需的keyStore与是否混淆及混淆文件的路径(默认${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt),
如果想要自定义混淆格式,可以通过修改路径的方法使用自己的混淆文件。
有的时候我们打包是由于包含一些svn等文件,需要对build.xml进行修改,忽略掉这些文件
<property name="aapt.ignore.assets" value="crunch:!.svn" />
它是使用SDK自带的ant文件下的build.xml,路径sdk\tools\ant\build.xml,
需要安装ANT,至于ANT的安装与环境变量的配置,网上很多,就不多说了,
之后就可以自动打包了,我使用cmd命令行,写成bat脚本执行:
title consignor打包&& D: && cd D:\workspace\ifm-android-common&& android update lib-project -p ./&& cd D:\workspace\ifm-android-update&& android update lib-project -p ./&& cd D:\workspace\ifm-android-image&& android update lib-project -p ./&& cd D:\workspace\ifm-android-consignor&&
android update project --name ifm-android-consignor -t android-19 -p D:\workspace\ifm-android-consignor&& android update project --name consignor -t android-19 -p ./ --subprojects&& ant release&& echo ------------------ 恭喜你使用BAT成功打包 ------------------&
pause
上面的命令之间不可以打回车!下面的拆分只是为讲解方便
title consignor打包 --------cmd显示标题
&& cd D:\workspace\ifm-android-consignor --------定向到android工程路径
&& android update project --name ifm-android-consignor -t android-19 -p D:\workspace\ifm-android-consignor --------更新D:\workspace\ifm-android-consignor下的 project.properties,local.properties,build.xml
其中project.properties写明了我们的android SDK的版本,混淆文件目录,引入的library。
其中local.properties写明了我们的android SDK的目录(其实是环境变量ANDROID_HOME的值,所以如果环境变量中没有这个的,请增加)。
build.xml则是ant构建的最重要脚本,生成的这个build.xml引用了android SDK自带的构建脚本。
&& ant release
让 library 支持ant自动编译:
&& android update project --name consignor -t android-19 -p ./ --subprojects ---------consignor(打包后的apk名字)
&& D: && cd D:\workspace\ifm-android-common
&& android update lib-project -p ./
&& cd D:\workspace\ifm-android-update
&& android update lib-project -p ./
&& cd D:\workspace\ifm-android-image
&& android update lib-project -p ./
另外在相关的.properties中可以添加打包所需的keyStore与是否混淆及混淆文件的路径(默认${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt),
如果想要自定义混淆格式,可以通过修改路径的方法使用自己的混淆文件。
有的时候我们打包是由于包含一些svn等文件,需要对build.xml进行修改,忽略掉这些文件
<property name="aapt.ignore.assets" value="crunch:!.svn" />
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories