Python学习日志4:第一个Git项目autoapktool

最近一直在整合自动化打包
自动完成拆包→修改xml→替换图标→打包→签名→360加固→签名→输出渠道包
基于sign_apk、MultiChannelBuildTool、apktool、360加固开发,需要py2.x(兼容sign_apk需求)和py3.x环境(本人默认编程环境)

靠百度出来的很多代码都不靠谱
比如一个文件模糊查询后获取文件名
百度Python 指定文件模糊查询
都是一堆复杂代码
其实一个for+if判断语句就能实现

for ifFile in os.listdir('./目标文件夹'):
    if '_xxx.yyy' in ifFile:
        return ifFile

目前实现了代码解耦
git创建私有项目
git设置忽略.gitignore

关于autoapktool的需求
是基于各个应用市场的规则不同
导致为了获取最大来量
必须每个市场在名称、图标等上采取变动方案
流程为as出release包
然后用apktool拆包

os.system('apktool d ' + apkfile)

接下来读取需求配置list
for循环对每个list[i]执行命令:
1、包含xml文件修改、png图片替换等
2、替换后用apktool封包
3、移动新包变更特征名称
4、签名新包
5、360加固
6、签名加固包
7、渠道包输出至output_<特征名>

def apktoolTodo(apkfile,newPath,键值1,键值2,新icon地址):
  #apkfile文件提取文件名对应apktool拆包文件夹apkpath
  apkpath=apkfileToPath(apkfile)
  print('★★★★★★★★★★拆包完成,获取文件目录')
  # 生成变更apk名目录
  valueStringPath=apkpath+'目标xml文件夹'
   # 生成icon文件目录,用于替换图标使用
  iconFilePath=apkpath+'目标icon文件夹'
  #修改代码开始

#此处根据需求添加代码,需要的外部变量自行添加到def

#修改代码结束
  print('★★★★★★★★★★变更完成,准备开始封包')
  os.system('apktool b '+apkpath)
  print('★★★★★★★★★★封包完成,移动文件到目标文件夹')
  os.system('mv '+apkpath+'/dist/'+apkpath+'.apk '+newPath)
  print('★★★★★★★★★★移动文件完成,删除打包临时文件')
  os.system('rm -r ' + apkpath +'/build')
  os.removedirs(apkpath +'/dist')

你可能感兴趣的:(Python学习日志4:第一个Git项目autoapktool)