Appium实操问题:如何获取Android设备上APK的绝对路径?
解决方法:获取Android设备上APK的绝对路径
方法一:通过应用包名查询(推荐)
先确定目标应用的包名:
- 打开设备上的目标应用,在电脑终端执行:
输出结果里类似adb shell dumpsys window | findstr mCurrentFocuscom.example.app/.MainActivity的部分,前面的com.example.app就是包名。 - 如果上述命令无效,可通过应用名称关键词查找:
比如查找微信就用adb shell pm list packages | findstr "应用名称关键词"wechat,找到对应包名。
- 打开设备上的目标应用,在电脑终端执行:
通过包名获取APK绝对路径:
拿到包名后执行:adb shell pm path 你的包名输出结果类似
package:/data/app/com.example.app-2/base.apk,这就是APK在设备上的完整绝对路径。
方法二:遍历所有已安装应用的APK路径
若不确定包名,可直接列出设备上所有应用的APK路径及对应包名:
adb shell pm list packages -f
输出每行格式为 package:/data/app/xxx/base.apk=com.example.app,前半部分是APK绝对路径,后半段是包名。
额外问题补充
- 使用
appium:appPackage报错,是因为未指定正确包名或未搭配appium:appActivity。拿到包名后,可通过以下命令获取启动Activity:
在capability中添加adb shell dumpsys package 你的包名 | findstr "android.intent.action.MAIN""appium:appActivity": "你的启动Activity"即可正常启动应用。 - 设备的
/data目录是内部存储根路径,Appium可正常访问,但需确保路径无占位符(比如配置里的<long package name>要替换为实际目录名)。
内容的提问来源于stack exchange,提问作者Rikudou
相关产品推荐
相关产品推荐

