You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Selenium/Appium技术:如何从APK文件或通过Appium获取安卓应用版本

获取Android应用版本信息的两种实用方案

嘿,刚好我做Android自动化测试时也碰到过同样的需求,给你分享两种靠谱的方法:直接从APK文件解析版本信息,以及通过Appium获取已安装应用的版本数据。

一、直接从APK文件提取版本信息

如果你手里有APK安装包,不需要安装就能拿到版本信息,推荐两种方式:

1. 用Android原生工具aapt

aapt是Android SDK自带的工具,路径一般在$ANDROID_HOME/build-tools/xx.x.x/目录下。打开终端执行以下命令:

  • 获取版本名称(versionName):
    aapt dump badging your_app.apk | grep versionName
    
  • 获取版本号(versionCode):
    aapt dump badging your_app.apk | grep versionCode
    

输出格式类似versionName='1.3.0',你可以自行做字符串提取处理。

2. 用Python第三方库批量解析

如果需要在代码里批量处理APK文件,推荐用apkutils库。先安装依赖:

pip install apkutils

然后写代码解析:

from apkutils import APK

# 初始化APK对象
apk = APK("path/to/your_target.apk")
# 提取版本信息
version_name = apk.get_androidversion_name()
version_code = apk.get_androidversion_code()

print(f"应用版本名称:{version_name}")
print(f"应用版本号:{version_code}")

二、通过Appium获取已安装应用的版本信息

如果应用已经安装在测试设备或模拟器上,Appium可以直接获取版本信息,有两种思路:

1. 从Driver的Capabilities直接读取

启动Appium会话后,直接从driver的capabilities中获取appVersion字段:

from appium import webdriver

desired_caps = {
    "platformName": "Android",
    "deviceName": "emulator-5554",  # 你的设备名称
    "appPackage": "com.example.your_app",  # 目标应用包名
    "appActivity": "com.example.your_app.MainActivity"  # 应用启动Activity
}

# 连接Appium服务
driver = webdriver.Remote("http://localhost:4723/wd/hub", desired_caps)
# 获取版本名称
app_version = driver.capabilities.get("appVersion")
print(f"已安装应用版本:{app_version}")

driver.quit()

2. 执行ADB命令获取完整版本详情

如果需要同时拿到versionName和versionCode,可以通过Appium执行ADB shell命令:

# 承接上面的driver初始化代码
# 执行dumpsys命令获取包版本信息
version_details = driver.execute_script(
    'mobile: shell',
    {'command': 'dumpsys package com.example.your_app | grep -E "versionName|versionCode"'}
)
print("应用版本详情:")
print(version_details)

输出会包含versionName=1.3.0和versionCode=130这类清晰的版本数据。

注意:如果应用还未安装,Appium无法直接从APK文件读取版本信息,需要先按第一部分的方法解析APK拿到数据,或者先安装应用再通过上述方式获取。

内容的提问来源于stack exchange,提问作者Wes

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 04:25:17