# -*- 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 # App 下载页面 download_url = "https://twongd.shotshock.shop/mobilex/download" # 保存版本信息 def save_version(new_ver): ver = { 'iosID': appID, "version": new_ver, "deVersion": new_ver, "iosStore": appStore, "update": download_url, "download": remote_url + "/twong-" + new_ver + ".apk", } ver_file = open("tools/version.json", "w") json.dump(ver, ver_file, indent=4) 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"] def error(): print("参数错误") help() exit(1) def help(): print("用法:\n\ all\t\t\t-- 生成一个新的版本号 用新的版本号打包 然后全部上传到服务器\n\ all [code]\t\t-- 把[code]作为版本号存入本地并应用到Cordova工程 打包 然后全部上传到服务器\n\ android\t\t-- 打包APK\n\ android [code]\t-- 把[code]作为版本号存入本地并应用到Cordova工程 打包APK\n\ help\t\t-- 显示帮助文档\n\ info\t\t-- 显示当前远程版本号和本地版本号\n\ ios\t\t\t-- Build IOS Cordova 工程\n\ ios [code]\t\t-- 把[code]作为版本号存入本地并应用到Cordova工程 打包IOS\n\ upload\t\t-- 以当前版本号打包 只上传APP到服务器\n\ upload [code]\t-- 把[code]作为版本号打包APK 只上传APK到服务器\n\ version\t\t-- 只把当前目录的版本文件上传到服务器(tools/version.json)\n\ version [code]\t-- 把[code]作为版本号存入本地并应用到Cordova工程 只上传版本文件到服务器\n") def test(): save_version("1.2.1") print("test over") if __name__ == "__main__": args = sys.argv if len(args) > 1: arg_1 = args[1] if arg_1 == "version": cur_ver = get_apk_version() if len(args) > 2: cur_ver = args[2] apk_version(cur_ver) save_version(cur_ver) update_version() elif arg_1 == "upload": if len(args) > 2: code = args[2] apk_version(code) build_package("android pub") update_package() elif arg_1 == "help": help() elif arg_1 == "all": cur_ver = get_version()["version"] ver_new = new_version(cur_ver) if len(args) > 2: ver_new = args[2] apk_version(ver_new) save_version(ver_new) build_package("android pub") update_package() update_version() elif arg_1 == "ios": if len(args) > 2: apk_version(args[2]) build_package("ios pub") elif arg_1 == "info": get_apk_version() get_version() elif arg_1 == "android": if len(args) > 2: apk_version(args[2]) build_package("android pub") elif arg_1 == "test": test() else: error() else: error()