首页 > 代码库 > Ant编译打包Android工程流程

Ant编译打包Android工程流程

一、Ant编译打包android工程步骤


二、Ant apk签名

1.keystore签名    定义自己的签名文件
生成keystore文件:keytool -genkey -alias android.keystore -keyalg RSA - validity 20000 -keystore android.keystore 
对应的java命令:jarsigner -verbose -keystore android.keystore -signedjar android_signed.apk android.apk
对应的ant脚本命令:
	<target name="sign">
		<echo>Begin sign unobfuscated package...</echo>
		<exec executable="${signer}" failonerror="true">
			<arg value=http://www.mamicode.com/"-verbose" />>
<property name="keystore" value=http://www.mamicode.com/"${project_path}/pada_keystore_formal" />>
2.系统签名(platform.pk8 , platform.x509.pem)   有些应用需要系统签名,比如定义了sharedUserId="android.uid.system".
系统签名文件:platform.pk8 , platform.x509.pem
存放目录:build/target/product/security/
对应的java命令:java -jar SignApk.jar platform.x509.pem platform.pk8 app_unsigned.apk app_signed.apk
对应的ant脚本命令:
<exec executable="java" failonerror="true">
            <arg value=http://www.mamicode.com/"-jar"/>>

三、Ant apk多渠道打包

目前主流的多渠道打包方法是在AndroidManifest.xml中的Application下添加一个渠道元数据节点。比如,使用友盟统计,它配置AndroidManifest.XML添加下面代码:

      <meta-data
            android:name="UMENG_CHANNEL"
            android:value=http://www.mamicode.com/"channelcode" />

使用自动化方式替换channelcode的值,可以用正则表达式,代码如下:

<target name="alter_umeng_channel">
		<property name="umeng_channel" value=http://www.mamicode.com/"${public_umeng_channel}"/>>