注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

网易杭州 QA Team

务实 专注 分享 做有态度的QA

 
 
 
 
 

日志

 
 

Windows下批处理实现自动为apk文件重签名  

来自kevinkong   2012-07-03 18:16:19|  分类: 自动化测试 |举报 |字号 订阅

  下载LOFTER 我的照片书  |
@ECHO OFF

REM key的名称,key文件需要放在和bat文件同一目录下
SET KEYSTORE_NAME=debug.keystore
REM key的别名
SET KEYSTORE_ALIAS=androiddebugkey
REM key的密码
SET KEYSTORE_STOREPASS=android
SET KEYSTORE_KEYPASS=android
REM 临时生成的apk文件名称
SET TEMP_PREFIX=temp_
SET TEMP_RESIGNER=resigner_
FOR %%I IN (*.apk) DO (
ECHO Resigner %%I
REM *****BUILD A FOLDER WITH THE SAME NAME.
ECHO BUILD A FOLDER WITH THE SAME NAME.
REM 创建一个文件夹,创建之前如果存在需要先删除
RD /S /Q %%I_
MD %%I_
REM 复制需要重新签名的apk文件以及debugkey到新的文件夹中
COPY %%I %%I_
COPY %KEYSTORE_NAME% %%I_
CD %%I_
REM 解压缩APK文件
JAR -xvf %%I
REM 删除复制到新文件夹中的APK文件
DEL %%I
REM 删除MANIFEST
RD /S /Q META-INF

ECHO RECOMPRESS THE APK
REM 重新压缩成apk文件
JAR -cvf %TEMP_PREFIX%%%I -C ./ .

ECHO JARSIGNER %%I
REM 对jar包重新签名,这里签名放在下面的删除文件之前,如果放在删除文件后面需要加入不要把debug.key删除掉
JARSIGNER -VERBOSE -KEYSTORE %KEYSTORE_NAME% -STOREPASS %KEYSTORE_STOREPASS% %TEMP_PREFIX%%%I %KEYSTORE_ALIAS% -KEYPASS %KEYSTORE_KEYPASS%

REM 删除解压出来的文件夹
REM *****CLEAR FOLDER
FOR /D %%J IN (*) DO (
ECHO DELETE FOLDER %%J
RD /S /Q %%J
)
REM *删除解压出来的文件,签名的APK文件需要保留
FOR %%J IN (*) DO (
IF %%J NEQ %TEMP_PREFIX%%%I (
ECHO DELETE FILE %%J
DEL %%J
)
)

ECHO ZIPALIGN %%I
REM 使用android的zipalign工具对apk文件进行优化
ZIPALIGN -v 4 %TEMP_PREFIX%%%I %TEMP_RESIGNER%%%I
REM 检查apk文件是否被优化
ZIPALIGN -c -v 4 %TEMP_RESIGNER%%%I
ECHO DELETE TEMP APK
REM 删除优化前的APK文件,保留优化后的APK
DEL %TEMP_PREFIX%%%I
CD ..
)
PAUSE
@ECHO ON

  评论这张
 
阅读(570)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2016