Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Android获取启动页面Activity方法总结

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

作者头像
岛哥的质量效能笔记
发布于 2021-08-18 07:06:44
发布于 2021-08-18 07:06:44
1.8K00
代码可运行
举报
运行总次数:0
代码可运行

阅读本文大约需要1.1分钟。

背景

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

方案

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

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
adb logcat | grep 'ActivityManager: Start'

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
adb shell dumpsys window windows | grep 包名

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

4、通过aapt命令获取,脚本如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#!/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
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-03-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 岛哥的质量效能笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
查看Android应用包名、Activity的几个方法
直接打开AndroidManifest.xml文件,找到包含android.intent.action.MAIN和android.intent.category.LAUNCHER对应的activity。
流柯
2018/09/11
4.3K0
查看Android应用包名、Activity的几个方法
python+Appium之APP自动化测试
1、首先,在系统变量里添加变量名为:ANDROID_HOME,值为:D:\android-sdk
Wu_Candy
2022/07/04
1K0
python+Appium之APP自动化测试
Appium+python自动化(七)- 初识琵琶女Appium(千呼万唤始出来,犹抱琵琶半遮面)- 上(超详解)
  “千呼万唤始出来,犹抱琵琶半遮面”,经过前边的各项准备工作,终于才把appium这位琵琶女请出来。那么下边就由宏哥给各位看官、小伙伴们和童鞋们来引荐这位美女(帅哥)。这一篇主要是对前边的内容做一个小小的总结,我们不能只顾得埋头拉车,不记得抬头看路可不行哦!
北京-宏哥
2019/06/25
2.7K0
Appium+python自动化(七)-  初识琵琶女Appium(千呼万唤始出来,犹抱琵琶半遮面)- 上(超详解)
adb常用命令总结
基础命令 1.查看手机设备 adb devices 2.packsge(包路径)安装包 adb install 3.(保留数据及缓存文件安装新包) adb install -r packages 4.(卸载包) adb uninstall package 5.关闭adb服务 adb kill-server 6.启动adb服务 adb start-server 7.查看手机里面所有包名 adb shell pm list packages 8.查看手机里面所有第三方包名 adb shell pm
wencheng
2020/09/21
9500
Appium + Python App自动化(2)第一个脚本
【1】打开你的夜神模拟器(或者连接你的手机) 【2】打开桌面的Appium 【3】下载你要测的App的apk文件,放到桌面 【4】拖动你的apk安装包到夜神模拟器里,然后模拟
孟船长
2018/05/18
1.6K1
必须掌握的ADB命令 | 让你的测试事半功倍
ADB的全称是Android Debug Bridge,是一个与模拟器或者连接设备通讯的桥梁。ADB是CS结构包含三个部分:
京东技术
2018/07/30
8.7K0
必须掌握的ADB命令 | 让你的测试事半功倍
adb知识
server服务端:adb.exe执行之后的进程,表示adb的服务端,通过服务端与手机上的adb守护进程进行通信
似小陈吖
2023/10/17
3090
如何使用ADB命令查看apk的签名
在使用第三方sdk时经常要求绑定签名,这里提供两种查看签名的方式,如果只是想查看一下手机上应用的签名,那么可以安装一个app直接输入包名即可查看该应用的签名,提供一个微信的签名查看apk,下载连接http://download.csdn.net/detail/sapce_fish/9546282。
知识与交流
2021/04/02
8.9K0
如何使用ADB命令查看apk的签名
APP性能测试—启动耗时
应用启动是整个App工序的第一道流程。对于开发者,一般需要在应用启动过程中进行初始化工作,启动页的UI展示。而对于用户来说,启动速度的快慢则极大地影响了使用体验,并且间接地影响了用户的留存率。
清风穆云
2021/08/09
2.9K0
Android开发调试常用工具
Android开发或者联调中经常会使用一些工具,今天就简单总结一下。 adb 开发调试第一神器,具体的在这里不做太多介绍,之前专门写过两篇文章。 下载地址: 无需安装,位于Android SDK的platform-tools文件夹下,增加环境变量即可使用 adb 基础用法 介绍一些常用的adb命令,例如install、push这些:点击查看 adb 进阶用法 介绍一些相对复杂的adb命令,主要是adb shell相关的:点击查看 adb shell input 重点介绍adb shell input的用法,
子勰
2018/05/22
1.2K0
Android APP性能及专项测试
1、运行Monkey进行压力测试: adb shell monkey -p cn.microinvestment.weitou --pct-touch 100 --ingore-crashes --throttle 1000 -s 100 -v -v 50 2、监控内存值,如果出现过大等递增异常则保存HPROF文件(hprof文件是Java 虚拟机的Heap快照)用于分析查看应用内存的命令: adb shell dumpsys meminfo cn.microinvestment.weitou(进程名) 如果发现内存过大,则保存HPROF文件:adb shell am dumpheap <进程名> <保存路径> 3、分析hprof文件 用工具MAT来查看,首先还要这个HPROF文件转换成MAT可读的文件 在Android SDK tool里面有个hprof-conv命令: hprof-conv <原HPROF文件路径> <转换后的HPROF路径> hprof-conv a.hprof b.hprof 4、用MAT工具打开转换后的HPROF文件 一般选择Leak Suspects Report(通过SQL语句来查询对象有没有被释放掉,如果有多个相同的对象,则会存在内存泄露的问题)
测试开发社区
2019/09/20
4K0
Appium+Python安卓自动化测试之启动APP和配置获取
如果连接不上,尝试更换手机、数据线或多次重新连接或可采用无线连接(请查看博主博客)
王大力测试进阶之路
2019/10/25
2.9K0
Appium+Python安卓自动化测试之启动APP和配置获取
技术分享 | Appium 用例录制
https://github.com/appium/appium-desktop/releases
Hogwarts_测试
2022/06/01
7750
安卓测试常用的 ADB 命令
    adb的工作方式比较特殊采用监听Socket TCP 5554等端口的方式让IDE和Qemu通讯,默认情况下adb会daemon相关的网络端口,所以当我们运行Eclipse时adb进程就会自动运行。  1.通过adb可以轻松的执行Linux Shell命令,如adb shell dir 就是列举目录,在Linux中根目录为/而不是Windows上的C盘、D盘。  2.安装apk程序到模拟器则执行adb install android123.apk,这样名为android123的安装包就会安装到Android模拟器中,前提是android123.apk文件需要放到SDK/Tools目录下。  3.向emulator传送文件, 使用adb push android123.txt /tmp/android123.txt命令可以把SDK/Tools下的android123.txt文件传输到模拟器的/tmp/文件夹中,需要注意的是/tmp/文件夹中内容会在Android模拟器重新启动时清空。  4.从Android仿真器中回传文件到电脑 
测试之道
2021/03/04
5.3K0
adb基本命令
指定设备:adb -s 设备名称:端口号 push 本地文件 Android系统目录
wangmcn
2022/07/26
5840
adb基本命令
自动化-Appium-常用命令
自动化测试过程中通常会使用一些操作命令,如针对Android需要查看App的appPackage和appActivity;针对IOS需要查看App的bundleID等。
wangmcn
2022/07/25
2K0
自动化-Appium-常用命令
Android应用启动流量自动化测试
之前《Tcpdump流量自动化测试上篇》、《Tcpdump流量自动化测试下篇》这两篇文章里讨论了如何通过tcpdump命令行工具来实现Android应用的流量自动化采集和分析,今天再来跟大家分享一下如何针对应用启动场景来做流量测试,有人可能会问了为什么是启动场景?因为现在工信部要求在用户没有授权网络请求前,应用不得擅自进行网络请求,特别是当跟厂商合作提供预装包的时候对此项的检查很严格。
岛哥的质量效能笔记
2021/08/18
1.2K0
Android应用启动流量自动化测试
Appium移动端自动化测试--基础预热
近日开始了移动端自动化测试的学习之路,决定在学习的过程中进行笔记,总结学习,印象或许会深刻一些。
软测小生
2019/12/12
1.4K0
Appium之获取app信息及界面定位方法
在使用android自动化测试工具monkeyrunner和appium中启动应用时,需要填写被测程序的包名和启动的Activity,以下有几种查看应用包名package和入口activity名称的方法:
用户6367961
2019/09/30
3.5K0
Android框架简介--Activity--Activity启动
以Activity A 启动 Activity B,Activity B所在进程未启动为例 大体经过已经几个阶段:
小蚂蚁与大象
2022/04/02
7760
Android框架简介--Activity--Activity启动
推荐阅读
相关推荐
查看Android应用包名、Activity的几个方法
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验