Android获取启动页面Activity方法总结

简介: 我们在做Android自动化测试过程中,经常会需要获取应用的启动Activity页面信息,那么今天就来跟大家分享一下有哪些获取应用启动Activity页面信息的方法。

方案


下面介绍的方案都是非侵入式的:


1、通过logcat命令过滤activity启动相关的日志,杀掉应用进程后重新打开,打印出的第一行日志中,如下图红框部分就是启动Activity。

adb logcat | grep 'ActivityManager: Start'


image.png

2、杀掉应用进程后,打开应用的同时执行下面的命令:

adb shell dumpsys window windows | grep 包名

image.png

3、可以用上篇文章中《推荐一款超好用的Android反编译工具》提到的反编译方法获取:


image.png

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

image.png

相关文章
|
3天前
|
Android开发
【通讯录教程】苹果安卓鸿蒙系统通用,如何大批量导入手机号码到手机的通讯录,下面教你方法,只需1分钟搞定几万个号码的导入手机电话本
该文介绍了一种快速批量导入手机通讯录的方法,适用于处理大量手机号的需求,如微商管理、客户资料整理等。在QQ同步助手开始收费后,提供了免费的替代方案。步骤包括:下载批量导入软件(链接提供腾讯云盘和百度网盘地址),清空通讯录(非必需),制作符合格式的通讯录文件,并按操作系统(苹果、安卓或鸿蒙)进行导入。整个过程只需1分钟,简便快捷。
|
4天前
|
Android开发 容器
安卓和苹果页面和逻辑是否有必要追求百分之百统一
安卓和苹果页面和逻辑是否有必要追求百分之百统一
9 0
|
12天前
|
Android开发
Android WindowFeature小探究,Android客户端Web页面通用性能优化实践
Android WindowFeature小探究,Android客户端Web页面通用性能优化实践
|
12天前
|
Android开发
Android获取蓝牙设备列表的方法
Android获取蓝牙设备列表的方法
20 5
|
12天前
|
Android开发
Android获取当前系统日期和时间的三种方法
Android获取当前系统日期和时间的三种方法
28 4
|
13天前
|
API 开发工具 Android开发
调用Android原生@SystemApi、@Hide方法
调用Android原生@SystemApi、@Hide方法
21 1
|
13天前
|
XML Java Android开发
利用Bundle实现Android Activity间消息的传递
利用Bundle实现Android Activity间消息的传递
16 2
|
13天前
|
Android开发 数据库管理
Android如何在Activity和Service之间传递数据
Android如何在Activity和Service之间传递数据
15 3
|
13天前
|
程序员 Android开发
Android亮度调节的几种实现方法
Android亮度调节的几种实现方法
14 0
|
13天前
|
机器学习/深度学习 Java Shell
[RK3568][Android12.0]--- 系统自带预置第三方APK方法
[RK3568][Android12.0]--- 系统自带预置第三方APK方法
59 0