码迷,mamicode.com
首页 > 移动开发 > 详细

Ant编译打包Android工程流程

时间:2014-07-20 23:14:43      阅读:441      评论:0      收藏:0      [点我收藏+]

标签:android   style   blog   http   java   color   

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

bubuko.com,布布扣

二、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="-verbose" />
			<arg value="-keystore" />
			<arg value="${keystore}" />
			<arg value="-storepass" />
			<arg value="${store_pass}" />
			<arg value="-keypass" />
			<arg value="${key_pass}" />
			<arg value="-signedjar" />
			<arg value="${temp}\${file_name}_unobfs_signed.apk" />
			<arg value="${temp}\${file_name}_unobfs.apk" />
			<arg value="${key_name}" />
		</exec>
	</target>

<property name="keystore" value="${project_path}\pada_keystore_formal" />
	<!-- 签名的密钥名称设置-->
	<property name="key_name" value="padaapp" />
	<!-- 签名的密码设置-->
	<property name="key_pass" value="padaeaglenet" />
	<!-- 签名的密码设置-->
	<property name="store_pass" value="padaeaglenet" />

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="-jar"/>
            <arg value="${project.dir}/STBsign/signapk.jar"/>
            <arg value="${project.dir}/STBsign/platform.x509.pem"/>
            <arg value="${project.dir}/STBsign/platform.pk8"/>
            <arg value="${buildtemp.dir}/unsigntest.apk"/>
            <arg value="${buildtemp.dir}/TVJUSIGN.apk"/>
        </exec> 


三、Ant apk多渠道打包

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

      <meta-data
            android:name="UMENG_CHANNEL"
            android:value="channelcode" />

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

<target name="alter_umeng_channel">
		<property name="umeng_channel" value="${public_umeng_channel}"/>
		<echo> alter_umeng_channle_id... "${umeng_channel}" </echo>
		 <replaceregexp file="${auto.project.tmp.dir}/AndroidManifest.xml"
	           match="<meta\-data(\s+)android:name="UMENG_CHANNEL"(\s+)android:value="[a-zA-Z0-9]+""
	           replace="<meta\-data android:name="UMENG_CHANNEL" android:value="${umeng_channel}""
	        />
	</target>




Ant编译打包Android工程流程,布布扣,bubuko.com

Ant编译打包Android工程流程

标签:android   style   blog   http   java   color   

原文地址:http://blog.csdn.net/rambomatrix/article/details/37993069

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!