替换APK文件内容后重新打包签名脚本
来源:互联网 发布:直播音效软件 编辑:程序博客网 时间:2024/05/21 09:20
由于业务需求,需要替换APK文件内容后重新打包签名,调研后发现使用JDK里提供的命令可以很方便地实现。关键命令如下:
jar -uf:替换apk文件内的某个文件或文件夹。
jarsigner:为apk文件签名
zipalign:对签名后的apk文件进行字节对齐优化
下面以替换某apk包中assets目录下的1.ini和2.ini文件,并重新打包签名优化为例,先放上脚本代码:
start.bat(windows版本)
SET KEYSTORE_NAME=.\data\signature.keystoreSET KEYSTORE_ALIAS=xxxSET KEYSTORE_STOREPASS=xxxSET KEYSTORE_KEYPASS=xxxSET INPUT_APK=.\input.apkSET META-INF=.\META-INFSET ASSETS=.\assetsSET UNSIGNED=.\output\Unsinged.apkSET SIGNED=.\output\Signed.apkSET OPT=.\output\output.apkcopy %INPUT_APK% %UNSIGNED%jar -uf %UNSIGNED% %META-INF%jar -uf %UNSIGNED% %ASSETS%@echo 替换文件完成!jarsigner -sigalg MD5withRSA -digestalg SHA1 -keystore %KEYSTORE_NAME% -storepass %KEYSTORE_STOREPASS% -keypass %KEYSTORE_KEYPASS% -signedjar %SIGNED% %UNSIGNED% %KEYSTORE_ALIAS%@echo 签名完成!del /F /Q %OPT%zipalign 4 %SIGNED% %OPT%@echo 优化完成!del /F /Q %UNSIGNED%del /F /Q %SIGNED%@echo 操作完成!@pause
start.sh(Linux版本)
#!/bin/bashKEYSTORE_NAME=./data/signature.keystoreKEYSTORE_ALIAS=xxxKEYSTORE_STOREPASS=xxxKEYSTORE_KEYPASS=xxxINPUT_APK=./input.apkMETA_INF=./META-INFASSETS=./assetsOUTPUT=./output/UNSIGNED=./output/input.apkSIGNED=./output/Signed.apkOPT=./output/output.apkcp $INPUT_APK $OUTPUTjar -uf $UNSIGNED $META_INFjar -uf $UNSIGNED $ASSETSecho Replace OK!jarsigner -sigalg MD5withRSA -digestalg SHA1 -keystore $KEYSTORE_NAME -storepass $KEYSTORE_STOREPASS -keypass $KEYSTORE_KEYPASS -signedjar $SIGNED $UNSIGNED $KEYSTORE_ALIASecho Signe OK!rm -r $OPTzipalign 4 $SIGNED $OPTecho Zipalign ok!rm -r $UNSIGNEDrm -r $SIGNEDecho Operate OK!
操作如下:
1、将apk包放在根目录下,命名为input.apk。将要替换的1.ini和2.ini文件放在assets目录下。
2、双击根目录下的start.bat(windows)或start.sh(linux or mac)。
3、待操作完成后,进入output目录即可看到生成的新apk包:output.apk。
注意事项:
1、必须安装JDK,配置好JDK的相关环境变量。
2、必须将zipalign加入到环境变量中,zipalign在Android SDK的build tool下。
3、将上述脚本里的相应参数改为实际的参数值,并在data目录下放入相应签名文件。
整个脚本执行的环境如图所示:
此外,需要在根目录下新建一个META-INF目录,并在里面放入原apk中META-INF目录对应的空文件(新建空文件并重命名为对应的名称即可),用于在重签名之前替换清空原签名文件。META-INF目录如下所示(不同的apk可能不同):
全文完!
0 0
- 替换APK文件内容后重新打包签名脚本
- Apk修改后重新打包、签名
- 反编译apk文件重新打包并签名
- APK 重新签名打包
- android替换apk中的资源图片后重新签名流程
- android-反编译后重新打包apk文件
- 重新签名APK文件
- 重新签名APK文件
- 重新签名APK文件
- 重新签名APK文件
- 重新签名APK文件
- 重新签名APK文件
- apk文件重新签名
- Android apk重新签名打包
- 给程序替换图标,重新签名 apk 文件。
- apk安装包反编译+修改代码+替换资源+重新打包+签名全流程记录
- apk反编译后重新打包
- 如何重新签名APK文件
- 自定义xinetd服务
- sqlserverexpress自动备份
- pandora pas cher memoirs
- Kafka安装测试
- 【USACO2.1.5】海明码
- 替换APK文件内容后重新打包签名脚本
- Populating Next Right Pointers in Each Node
- Cocos2d-x显示中文与字幕滚动--之游戏开发《赵云要格斗》(14)
- 文档 视图 框架窗口间的关系和消息传送规律
- SDWebImage清除缓存
- BJFU 1025 Ackermann函数解题报告(关于如何找规律)
- VS2010快捷键(未完,随时追加)
- 成大资工嵌入式系统开发课程
- 大数据架构和模式(一)大数据分类和架构简介