python一键替换_Python自动化批量替换apk渠道号

本文介绍了一段Python脚本,通过os和shutil模块执行操作,包括修改apk内容、反编译、签名以及文件管理。核心内容涉及自动签名apk文件,并针对每个apk的特定信息进行定制化处理,最终将签名后的apk重命名并存档。
摘要由CSDN通过智能技术生成

#FileName:lean001.py

#author:www.py40.com

#执行os命令

import os

import shutil

import sys

path_item = sys.path[0]

path_apk_folder =path_item+'\\apk'

keystore_password = 'aa123456'

keystore_bieming = 'autosign'

keystore_name = 'autosign_aa123456.jks'

listqudao = []

#修改文件类容

def modifyFile(tfile,sstr,rstr):

print('开始修改文件'+tfile)

print('原始内容'+sstr)

print('替换内容'+rstr)

try:

lines=open(tfile,'r',encoding='utf-8').readlines()

flen=len(lines)

for i in range(flen):

if sstr in lines[i]:

lines[i]=lines[i].replace(sstr,rstr)

open(tfile,'w',encoding='utf-8').writelines(lines)

print('修改文件内容成功:'+rstr)

except IOError:

print('输入输出异常')

except Exception as e:

print(e)

print('修改内容失败')

#反编译apk

def decomApk():

#删除过期文件

print('删除过期文件'+path_apk_folder)

shutil.rmtree(path_apk_folder,True)

path_apk_old = 'apktool d '+path_item+'\\app.apk -o ' +path_apk_folder

os.system(path_apk_old)

print('反编译apk文件成功:'+path_apk_folder)

#对apk进行签名

def signApk():

print('开始回编译打包')

apk_back = 'apktool b '+path_item+"\\apk"

os.system(apk_back)

print('回编译打包成功')

print('开始执行自动签名任务')

signapkcommond = 'jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore '+path_item+'\\'+keystore_name+' -storepass '+ keystore_password+' '+ path_item+'\\apk\\dist\\app.apk '+keystore_bieming;

print('签名命令:'+signapkcommond)

os.system(signapkcommond)

print('签名成功')

#初始化

def initItem():

#删除appresult文件夹

print('清除appresult文件夹')

shutil.rmtree(path_item+"\\appresult",True)

#创建appresult文件夹

print('创建appresult文件夹')

os.makedirs(path_item+"\\appresult")

lines=open(path_item+"\\qudao.txt",'r',encoding='utf-8').readlines()

for line_item in lines:

line_item=line_item.strip('\n')

if not line_item:

continue

print(line_item)

decomApk()

print('开始修改apk内容')

fileManifest = path_apk_folder+"\\AndroidManifest.xml"

modifyFile(fileManifest,'Duoyou_qudao',line_item)

signApk()

shutil.copy(path_item+"\\apk\\dist\\app.apk", path_item+"\\appresult")

print('文件复制成功')

new_app_name = 'app_'+line_item+'.apk'

print("文件名修改为:",new_app_name)

os.rename(path_item+"\\appresult\\app.apk", path_item+"\\appresult\\"+new_app_name)

print("当前目录为:"+path_item)

initItem()

print("脚本执行结束:")

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值