#!/usr/bin/env python3 """APK签名工具 - 程序入口""" import argparse import sys from src.batch import batch_generate_keystores from src.gui import gui_main def main(): """命令行接口""" parser = argparse.ArgumentParser(description='批量生成Android签名文件工具') parser.add_argument('--name', required=True, help='签名文件基础名称,可包含多个{random}占位符') parser.add_argument('--alias', required=True, help='别名,可包含多个{random}占位符') parser.add_argument('--storepass', required=True, help='存储密码,可包含多个{random}占位符') parser.add_argument('--keypass', required=True, help='密钥密码,可包含多个{random}占位符') parser.add_argument('--random-length', type=int, default=4, help='每个随机字符串的长度,默认4') parser.add_argument('--count', type=int, default=1, help='生成数量,默认1') parser.add_argument('--validity', type=int, default=10000, help='有效期(天),默认10000') # 添加DN字段的命令行参数 parser.add_argument('--cn', default='Android', help='Common Name,默认Android') parser.add_argument('--ou', default='Development', help='Organizational Unit,默认Development') parser.add_argument('--o', default='AndroidDev', help='Organization,默认AndroidDev') parser.add_argument('--l', default='Unknown', help='Locality,默认Unknown') parser.add_argument('--st', default='Unknown', help='State,默认Unknown') parser.add_argument('--c', default='CN', help='Country,默认CN') args = parser.parse_args() batch_generate_keystores( base_name=args.name, base_alias=args.alias, store_pass=args.storepass, key_pass=args.keypass, random_length=args.random_length, count=args.count, validity_days=args.validity, cn=args.cn, ou=args.ou, o=args.o, l=args.l, st=args.st, c=args.c ) if __name__ == "__main__": # 根据命令行参数决定运行模式 if len(sys.argv) > 1: # 命令行模式 main() else: # GUI模式 gui_main()