首页 > 代码库 > 获取Android运行apk的packagename 和activityname

获取Android运行apk的packagename 和activityname

自动化测试中经常遇到这个问题,关于这个题目,方法众多,咱的目的是找个比较简单靠谱的:

方法一:

先进入cmd窗口,adb shell 后:

cd /data/data

ls

可以看到包名了吧,缺点很明显,必须root手机先

方法二:

先进入cmd窗口:

adb shell ps|findstr /i "keyword"

要搜哪个不就都行了,这个不用root手机了吧,嗯,这个还凑活

方法三:

在手机上启动了程序,usb连接电脑,然后启动android-sdk/tools/monitor.bat,device里面也就可以看到包名了吧。

上面三种方法查看包名都还凑活,可能稍微需要猜猜,不过都能达到目的,但是启动的任务窗口(activity)是啥呢,这几个方法都看不到。

得,不卖关子了,直接推出我的建议方法:

方法四:

首先在手机上运行一下程序,进入第一个界面就行了,别去多多操作了,usb连接电脑,进入cmd窗口运行:

adb shell "dumpsysusagestats"|findstr /i "keyword"

这个也不用root手机的,原本这个dumpsys usagestats 是用来记录打开了程序的哪些activity次数和时间一类信息的,这里可以用来直接看看你的这个程序开启了哪些activity。

你可以试试在cmd下执行下面的命令:

微信

adb shell "am start -n com.tencent.mm/com.tencent.mm.ui.LauncherUI"

手机QQ

adb shell "am start -n com.tencent.mobileqq/com.tencent.mobileqq.activity.SplashActivity"

微博

adb shell "am start -n com.sina.weibo/com.sina.weibo.SplashActivity"

QQ空间

adb shell "am start -n com.qzone/com.tencent.sc.activity.SplashActivity"

不过如果你可以直接看到程序项目中的AndroidManifest.xml或者可以直接问开发,那这篇文章你就压根不用看了。

获取Android运行apk的packagename 和activityname