android list target 查看当前sdk的版本列表 android update project -n ProjectName -t 1 -p ProjectPath
-n 对应的是项目名称
-t 就是我们之前查询的SDK版本对应的ID,大家根据自己的项目版本做出选择即可,我这个是android-19 所以用ID 1 .
-p 就是生成的路径
示例:android update project -n "项目名" -t 12 -p 项目路径
这样就在当前工程目录下生成了build.xml
2、配置local.properties,配置签名等信息,示例如下:
sdk.dir=D:\\android_4.0\\android-sdk-windows //自动生成 key.store=../../jars/xxx.keystore key.store.password=... key.alias=xxxxy key.alias.password=...
3、配置custom_rules.xml或在项目的build.xml中直接修改,重新定义-pre-compile这个target,在其中重新定义 project.all.jars.path 的值。
如果你的引用JAR包都在工程的libs目录下,可以忽略该步骤。
在该文件中进行配置第三方JAR包引用路径,相对或绝对路径都可以,示例如下:
<?xml version="1.0" encoding="UTF-8"?> <project name="custom_rules" default="release" > <target name="-pre-compile" > <echo message="JARPATH=${toString:project.all.jars.path}" > </echo> <path id="ormlite.lib" > <path path="${toString:project.all.jars.path}" > </path> <pathelement location="E:\Projects\vis_code\apk\jars\a.jar" /> <pathelement location="E:\Projects\vis_code\apk\jars\b.jar" /> </path> <path id="project.all.jars.path" > <path refid="ormlite.lib" > </path> </path> <echo message="JARPATH=${toString:project.all.jars.path}" > </echo> </target> </project>4、启用代码混淆
-dontskipnonpubliclibraryclassmembers -libraryjars libs/android-support-v4.jar -libraryjars ../../jars/BesTVMediaPlayer.jar //相对或绝对路径都可以 -libraryjars ../../jars/BesTVOttFramework.jar -libraryjars ../../jars/gson.jar -ignorewarnings -keep class android.support.v4.** { *; } -keep public class * extends android.support.v4.** -keep class com.bestv.ott.** { *; } -keep class com.bestv.util.** { *; } -keep class com.google.gson.** { *; } -keep class com.bestv.framework.vod.BesTVJSInterface { *; } -keep class com.bestv.framework.vod.BesTVAuth { *; } -keep class com.bestv.framework.common.Logger { *; } -keep class com.bestv.framework.vod.BesTVJSSystem { *; }5、同样的,如果编译的项目引用多个库项目,则需要在各个库项目中进行如下相同操作
ant clean release 清理发布(要求输入签名) ant clean debug debug模式(不要求手动输入签名,用的是debug签名) ant debug install/installd/installr/installi/installt ant release install ant reinstall ant uninstall
7、输入签名密码,完成打包
8、如果为DEBUG模式,则可通过以下方式进行自动运行的批处理实现
(1)DEBUG.BAT放置编译指令
cd /d %itempath% ant clean debug install exit
(2)ITEM.BAT放置和项目相关的运行处理
@echo off SET itempath=E:\Projects\vis_code\apk\fapl\trunk SET package=com.xxx SET classname=com.xxx.LauncherActivity call C:\Users\xu.jian\Desktop\Release\debug.bat adb shell am start -n %package%/%classname%
这样就可以自动编译、自动运行APK,不需要在ECLIPSE、Android Studio中进行完成运行。
此外,在代码托管时,可对上述涉及到的相关文件进行管理,主要有:
1、project.properties
对于系统build.xml文件主要应用解析:
1、Overridable Properties 部分是可以在ant.properties、local.properties中进行覆盖