阅读本文大约需要1.1分钟。
背景
我们在做Android自动化测试过程中,经常会需要获取应用的启动Activity页面信息,那么今天就来跟大家分享一下有哪些获取应用启动Activity页面信息的方法。
方案
下面介绍的方案都是非侵入式的:
1、通过logcat命令过滤activity启动相关的日志,杀掉应用进程后重新打开,打印出的第一行日志中,如下图红框部分就是启动Activity。
adb logcat | grep 'ActivityManager: Start'
2、杀掉应用进程后,打开应用的同时执行下面的命令:
adb shell dumpsys window windows | grep 包名
3、可以用上篇文章中《推荐一款超好用的Android反编译工具》提到的反编译方法获取:
4、通过aapt命令获取,脚本如下:
#!/bin/bash
echo "请输入apk地址:"
read apk
launch_activity=$(aapt dump badging ${apk} | grep launchable-activity | sed 's/ //g' | cut -d "'" -f2)
package_name=$(aapt dump badging ${apk} | grep package: | sed 's/ //g' | cut -d "'" -f2)
if [[ ! -n "${launch_activity}" ]]; then
echo "抱歉没有找到启动activity"
else
echo "${package_name}/${launch_activity}"
fi