使用adb命令查询AppPackage和AppActivity无返回结果的问题咨询
adb查询当前应用AppPackage与AppActivity无返回结果的解决方案
mCurrentFocus 字段已在Android 10及以上版本的系统中被调整移除,这是原有命令执行后无返回的核心原因,你可以替换使用以下兼容度更高的查询方案:
方案1:替换过滤字段查询
将原有命令的过滤字段替换为高版本系统仍支持的mFocusedApp即可:
# 可直接在本地终端执行,无需先进入adb shell交互模式 adb shell dumpsys window windows | grep -E 'mFocusedApp'
如果执行后仍无返回,可先去掉过滤逻辑查看完整输出,确认当前系统对应的字段命名:
adb shell dumpsys window windows
方案2:通过Activity管理器查询
该方案兼容全Android版本,返回结果更稳定:
adb shell dumpsys activity activities | grep -E 'ResumedActivity'
返回结果格式示例:ResumedActivity: ActivityRecord{4a2b3c u0 com.tencent.wechat/.ui.LauncherUI t23},其中com.tencent.wechat/.ui.LauncherUI就是你需要的AppPackage/AppActivity参数。
方案3:直接提取纯净结果
如果需要直接输出无冗余内容的参数,可以使用以下命令:
# 仅输出当前前台应用的包名 adb shell "dumpsys window windows | grep -E 'mFocusedApp' | cut -d ' ' -f 7 | cut -d '/' -f 1" # 输出完整的包名+Activity名 adb shell "dumpsys window windows | grep -E 'mFocusedApp' | cut -d ' ' -f 7"
注意:执行命令前请确保目标应用处于前台可见状态,不要回到系统桌面后再执行命令,否则查询到的会是桌面启动器的相关参数。
内容的提问来源于stack exchange,提问作者Tushar Raj
相关产品推荐
相关产品推荐

