# -*- coding: utf-8 -*- import os import subprocess from tools.upload import * from tools.packHelper import * # 安卓打包位置 apkPath = "./cordova/platforms/android/app/build/outputs/apk/release/app-release.apk" # IOS appID appID = "1537411658" # appStore 地址 appStore = "itms-apps://itunes.apple.com/us/app/apple-store/" + appID # 保存版本信息 def save_version(new_ver): ver = { "version": new_ver, "iosVersion": new_ver, 'iosID': (appID,), "iosStore": appStore, "download": remote_url + "/twong-" + new_ver + ".apk", } ver_file = open("tools/version.json", "w") json.dump(ver, ver_file) ver_file.close() def update_version(): if not upload("tools/version.json", "version"): exit(-1) def update_package(): if not upload(apkPath, "twong-" + ver_new + ".apk"): exit(-1) def build_package(params): ret = subprocess.call("sh ./tools/build.sh " + params, stderr=subprocess.STDOUT, shell=True) print(ret) def remote_version(): cur_version = get_version() return cur_version["version"] if __name__ == "__main__": args = sys.argv if len(args) > 0: if args[1] == "version": cur_ver = remote_version() ver_new = new_version(cur_ver) if len(args) > 2: ver_new = args[2] save_version(ver_new) apk_version(ver_new) update_version() elif args[1] == "upload": if len(args) > 2: code = args[2] apk_version(code) build_package("android") update_package() elif args[1] == "help": print("用法:\n\ 没有参数直接执行打包脚本(tools/build.sh)\n\ all\t\t-- 生成一个新的版本号 用新的版本号打包 然后全部上传到服务器\n\ all [code]\t-- 把[code]作为版本号存入本地并应用到Cordova工程 打包 然后全部上传到服务器\n\ help\t\t-- 显示帮助文档\n\ ios\t\t-- Build IOS Cordova 工程\n\ upload\t\t-- 以当前版本号打包 只上传APP到服务器\n\ upload [code]\t-- 把[code]作为版本号打包APK 只上传APK到服务器\n\ var\t\t-- 显示当前远程版本号和本地版本号\n\ version\t\t-- 只把当前目录的版本文件上传到服务器(tools/version.json)\n\ version [code]\t-- 把[code]作为版本号存入本地并应用到Cordova工程 只上传版本文件到服务器\n\ ") elif args[1] == "all": cur_ver = remote_version() ver_new = new_version(cur_ver) if len(args) > 2: ver_new = args[2] apk_version(ver_new) save_version(ver_new) update_package() update_version() elif args[1] == "ios": build_package("ios") elif args[1] == "ver": get_apk_version() get_version() else: print("参数错误 请使用 help 检查可用的参数列表") else: build_package("android")