Android多个签名,【Android】Android批量重签名
发布日期:2021-06-24 10:15:08 浏览次数:3 分类:技术文章

本文共 2467 字,大约阅读时间需要 8 分钟。

在MBA大师Android端APP4.8.0版本发布的时候,我们发现乐固的PC工具下线了,所以我们只能在线上进行加壳操作,再在本地进行重新签名。由于渠道包很多,所以参考了网上的脚本,修改了一个Mac环境下适用的Python脚本

69ca76139888

BeanTech Desktop

使用

在使用脚本前,你需要进行如下操作:

配置Python2.7

Mac默认已经安装了Python2.7版本,在你的终端中输入

python

就可以查看当前Python的版本

如果没有Python2的话可以使用brew安装Python2

brew install python

创建脚本

你最好新建一个文件夹,再创建一个文件,我们可以命名为

mutilSign.py

而后,将如下代码拷贝到文件中并保存

#!/usr/bin/python

#coding:UTF-8

import shutil

import os

jksFile = ''

storePassword = ''

keyAlias = ''

keyPassword = ''

# 获取当前目录中所有的apk源包

src_apks = []

# python3 : os.listdir()即可,这里使用兼容Python2的os.listdir('.')

originApkdir=os.getcwd()+'/originApks/'

output_dir = 'output/'

# 目录不存在则创建

if not os.path.exists(output_dir):

os.mkdir(output_dir)

else:

shutil.rmtree(output_dir,True)

os.mkdir(output_dir)

for file in os.listdir(originApkdir):

if os.path.isfile(os.path.join(originApkdir,file)):

extension = os.path.splitext(file)[1][1:]

if extension in 'apk':

src_apks.append(os.path.join(originApkdir,file))

try:

for src_apk in src_apks:

# file name (with extension)

src_apk_file_path = os.path.abspath(src_apk)

# file name (with extension)

src_apk_file_name = os.path.basename(src_apk)

# 分割文件名与后缀

temp_list = os.path.splitext(src_apk_file_name)

# name without extension

src_apk_name = temp_list[0]

# 后缀名,包含. 例如: ".apk "

src_apk_extension = temp_list[1]

# 创建生成目录

#目标文件路径

target_apk = output_dir + src_apk_name + src_apk_extension

#签名后的文件路径

signer_apk_path = output_dir + src_apk_name + '_signed' + src_apk_extension

#拼装签名命令

# signer_str = 'cmd.exe /k apksigner sign --ks ' + jksFile + ' --ks-pass pass:' + storePassword + ' --ks-key-alias ' + keyAlias + ' --key-pass pass:' + keyPassword + ' --out ' + signer_apk + ' ' + src_apk

signer_str = 'jarsigner -verbose -keystore '+ jksFile + ' -storepass '+storePassword+' -signedjar '+ ' ' + signer_apk_path + ' ' + src_apk_file_path +' '+keyAlias

# print signer_str

print 'sign '+src_apk_file_name+' waiting...'

#执行签名命令

signer_result = os.popen(signer_str)

#输出签名命令执行结果

if(signer_result.read() != ''):

print 'signer_result:\t', 'success'

else:

print 'signer_result:\t', 'fail result: '+signer_result

except Exception, e:

print 'Exception:\t', repr(e)

print 'All done! Any key to exit'.decode('UTF-8').encode('GBK')

#等待输入

raw_input()

很简单对吗?

配置签名信息

将你的Keystore文件放到这个目录中来,修改脚本中的 jksFile storePassword keyAlias keyPassword字段为对应值

创建源文件目录

在刚才的文件夹里新建一个文件夹,并命名为"originApks",将待签名的Apk文件统统放进来吧

签名

打开终端,运行

python mutilSign.py

不出意外的话,运行完毕后会在目录中生成一个'output'文件夹,签完名的Apk就在这个文件夹中了

PS:每次开始签名都会自动删除之前的output,所以不用手动删除哦

转载地址:https://blog.csdn.net/weixin_32048757/article/details/117345993 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:html unicode编码转换,JS实现的Unicode编码转换操作示例
下一篇:普职融通信息技术课本C语言,“三步走”扎实推进“普职融通”办学新模式

发表评论

最新留言

路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年04月10日 01时03分51秒