python 脚本实现bugly自动上传符号文件

bugly更新之后,符号文件不再支持拖拽或者选择文件的方式上传了,官方提供了一个上传的工具包,通过buglyqq-upload-symbol.jar实现上传,每次上架app都需要手动去配置相关参数和组装对应的命令行,操作起来有点麻烦,于是使用python写了个简单的脚本,每次只需要把dsym拖拽到指定文件夹 执行python upload.py -v 1.0.0上传即可
具体操作步骤如下:
1.打开官网下载上传工具包 https://bugly.qq.com/v2/downloads,符号表工具 '3.3.4'
2.解压工具包打开使用说明我们发现整个上传过程就只有一个命令 只需要配置相关参数即可

java -jar buglyqq-upload-symbol.jar -appid <APP ID> 
                                    -appkey<APP KEY>
                                    -bundleid <App BundleID>
                                    -version <App Version>
                                    -platform <App Platform>
                                    -inputSymbol <Original Symbol File Path>
                                    -inputMapping <mapping file>

3.编写python脚本,并放在下载的java工具包解压目录,把对应的参数配置齐全,利用 subprocess.Popen来执行命令行

#!/usr/bin/env python
# -*- coding:utf-8 -*-
import argparse
import subprocess

APP_ID = 'xxxxxxx'
APP_KEY = 'a32d0dea-afe4-4904-9dcd-xxxxxxxxxxxxx'
VERSION = ''
BUNDLE_ID = 'com.xxxxx.xx'
PLATFORM = 'IOS'
INPORT_SYMBOL = '符号名称.app.dSYM'


def archive_upload():
    cmd = 'java -jar ../buglyqq-upload-symbol.jar -appid %s -appkey %s -bundleid %s -version %s -platform %s -inputSymbol %s' % (
        APP_ID, APP_KEY, BUNDLE_ID, VERSION, PLATFORM, INPORT_SYMBOL)
    print('开始上传符号文件...')
    process = subprocess.Popen(cmd, shell=True)
    process.wait()
    if process.returncode == 0:
        print('符号文件上传成功')
    else:
        print(f'符号文件上传失败')


def prase_args(options):
    global VERSION
    if options.version:
        VERSION = options.version
        archive_upload()
    else:
        print('请输入版本号')


if __name__ == "__main__":

    parser = argparse.ArgumentParser('bugly符号文件上传脚本')

    parser.add_argument(
        "-v", "--version", help="该选项用来配置上传的符号文件版本号",
        metavar="1.0.0")
    options = parser.parse_args()
    prase_args(options)

4.在XCode中找到对应的符号文件: 符号名称.app.dSYM ,并把该文件复制到脚本同级目录
5.执行python命令输入上传的符号文件版本号

/// 可以通过-h命令来查看支持的功能
python upload.py -h
usage: bugly符号文件上传脚本 [-h] [-v 1.0.0]

optional arguments:
  -h, --help            show this help message and exit
  -v 1.0.0, --version 1.0.0
                        该选项用来配置上传的符号文件版本号

/// 执行脚本发起上传 等待上传结束
python upload.py -v 1.0.0
posted @ 2022-10-19 10:04  qqcc1388  阅读(261)  评论(0编辑  收藏  举报