Appium Android 获取包名和 Activity 的几种方法 (转)

本文档主要记录“获取包名和 Activity 的方法”,用于自动化测试时启动APP。以下方法主要来源于网络和社区同学的贡献,特此感谢!

1. 方法一: pm list package查看包名

adb shell pm list package -f

将获取手机内所有apk对应的包名和路径

adb shell pm list package -3 -f   #获取第三方apk的包

2. 方法二:dumpsys window(本人最常用)

先打开需要查找的apk后,再敲入以上命令

adb shell dumpsys window w | findstr \/ | findstr name=
或
adb shell dumpsys window |findstr mCurrent
或
adb shell "dumpsys window w|grep \/|grep name=|sed ‘s/mSurface=Surface(name=//g‘|sed ‘s/)//g‘|sed ‘s/ //g‘"

注:此处用sed 将部分字符串替换为空,格式为“sed ‘s/要被取代的字串/新的字串/g‘”

3. 方法三:logcat日志抓取LAUNCHER

adb shell “ logcat | grep android.intent.category.LAUNCHER "
或
adb logcat ActivityManager:I *:s

4. 方法四:dumpsys activity

先启动需要的查找的apk,再敲入以上命令

adb shell dumpsys activity | grep mFocusedActivity

5. 方法五:logcat日志抓START

C:\Users\Administrator>adb shell
[email protected]_32_512:/ # logcat | grep START

先启动需要查找的apk,再敲入以上命令,找到最后一个ActivityManager

6. 方法六:aapt工具(推荐使用)

使用aapt工具 ,适合给程序自动获取 apk 的相关信息,非常实用,
//aapt是sdk自带的一个工具,在sdk\builds-tools\目录下
1.以微信为例,命令行中切换到aapt.exe目录执行输入以下命令

aapt dump badging D:\weixin658android1060.apk

2.运行后的结果中以下两行分别是应用包名package和入口activity名称,另外可看到应用使用的权限、支持的语言等信息

7. 方法七:apktool反编译app后查看AndroidManifest.xml

1.使用apktool反编译app

java -jar D:\Tools\apktool_2.2.3.jar d D:\Tools\weixin658android1060.apk

2.打开AndroidManifest.xml文件
manifest节点的package属性值是应用的包名:

查找android.intent.action.MAIN和android.intent.category.LAUNCHER对应的activity,该activity对应的android:name属性既是入口activity名称,android.intent.action.MAIN决定应用程序最先启动的Activity,android.intent.category.LAUNCHER决定应用程序是否显示在程序列表里

8. 方法八:使用monkey 命令查看Activity

adb shell monkey -p com.tencent.mm -c android.intent.category.LAUNCHER -v -v 0|findstr Using

注:
1. findstr 和 grep 查找字符串说明
findstr:windows平台查找字符串命令, 一般格式如下:

adb shell  xxx  | findstr xxx

grep:linux平台查找字符串命令,一般先adb shell 进入shell命令行再使用,也可直接使用,把shell 后面带grep的命令加双引号即可:

adb shell  "xxx  | grep xxx"

原文地址:https://testerhome.com/topics/9209

感谢作者辛苦总结

原文地址:https://www.cnblogs.com/kaerxifa/p/8543138.html

时间: 2024-10-12 13:56:15

Appium Android 获取包名和 Activity 的几种方法 (转)的相关文章

查看Android应用包名、Activity的几个方法

一.没有apk,应用已经安装到手机或虚拟机中 1.手机有安装GT,打开可以看到包名: 2.logcat .清除logcat内容,使用命令adb logcat -c .启动logcat,使用命令adb logcat ActivityManager:I *:s .启动要查看的程序, 2.dumpsys (1)启动要查看的程序: (2)命令行输入:adb shell dumpsys window w |findstr \/ |findstr name= 补充:使用adb shell dumpsys w

【appium】查看Android应用包名、Activity的几个方法

一.有源码情况 直接打开AndroidManifest.xml文件,找到包含android.intent.action.MAIN和android.intent.category.LAUNCHER对应的activity. 如下图中第三行package为com.cola.ui,第七行主Activity为com.cola.ui.ColaBox(.ColaBox为Activity简写方式). <?xml version="1.0" encoding="utf-8"?&

Android 获取包名,版本信息

Android 获取包名,版本信息及VersionName名称 Java代码   <span style="font-size: 14px;">private String getAppInfo() { try { String pkName = this.getPackageName(); String versionName = this.getPackageManager().getPackageInfo( pkName, 0).versionName; int ve

二.第一个自动化demo,打开APP-如何获取包名和activity。(真机)

环境配置成功后,我们就可以进行第一个自动化测试了.用真机则不需要安装安卓模拟器.以一个简单的打开APP为例. 一.获取包名和activtity      启动一个app,我们需要知道它的平台.版本号.包名.activity等信息,其中两个比较难找的是包名和activtiy,其他的直接在手机或者用Itools都可以看到. 1)在之前配置的安卓SDK文件夹中找到sdkmanager.exe并启动,勾选一个版本的build-tools并下载. 2)下载成功后,找到appt.exe,并将这个路径加到 环

Android 获取包名,版本信息及VersionName名称

<span style="font-size: 14px;">private String getAppInfo() { try { String pkName = this.getPackageName(); String versionName = this.getPackageManager().getPackageInfo( pkName, 0).versionName; int versionCode = this.getPackageManager() .get

Android通过包名启动Activity

代码: private void startAppByPkgName(String pkgName){ Intent intent =null; intent = mContext.getPackageManager().getLaunchIntentForPackage(pkgName); if(intent != null){ mContext.startActivity(intent); } }

Android双击返回键退出Activity的两种方法

在开发应用程序的时候,有一种功能是非常常用到的,那就是迅速双击返回按钮,然后实现退出Activity的功能.本人在网上看了很多资料代码,总结起来,主要有两种比较好的方式.一种是开线程延时执行,一种是记录按键时间计算时间差实现.现在跟大家分享一下,代码如下,希望对大家有帮助: 第一种:利用线程延时实现: private int mBackKeyPressedTimes = 0; @Override public void onBackPressed() { if (mBackKeyPressedT

使用appt获取包名

1.有android-sdk-window 2.设置系统变量 3.测试成功 使用命令:appt dump badgiing   安装包路径     就可以获取包名和activity 原文地址:https://www.cnblogs.com/eosclover/p/10704211.html

Appium+Python自动化 -获取 app 包名和 activity

方法一: ①手机通过USB连接电脑 ②打开手机上被测app ③在电脑上 dos命令窗口,输入命令 adb shell dumpsys window w | findstr \/ | findstr name= 或 adb shell dumpsys window |findstr mCurrent 或 adb shell "dumpsys window w|grep \/|grep name=|sed 's/mSurface=Surface(name=//g'|sed 's/)//g'|sed