""" APK解析工具 用于从APK文件中提取版本信息 """ import zipfile import xml.etree.ElementTree as ET import struct # 如果安装了 androguard,使用更可靠的解析方法 def parse_apk_with_androguard(apk_path): """ 使用 androguard 库解析 APK 需要先安装: pip install androguard """ try: from androguard.core.apk import APK apk = APK(apk_path) version_code = apk.get_androidversion_code() version_name = apk.get_androidversion_name() print(f"APK解析成功: version_code={version_code}, version_name={version_name}") return { 'version_code': int(version_code) if version_code else None, 'version_name': version_name } except ImportError as ie: print(f"androguard 导入失败: {str(ie)}") return parse_apk(apk_path) except Exception as e: print(f"使用androguard解析APK失败: {str(e)}") import traceback traceback.print_exc() return None