获取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的更多相关文章
- Python 通过脚本获取Android的apk的部分属性,再通过加密算法生成秘钥。
Python 通过脚本获取Android的apk的部分属性,再通过加密算法生成秘钥. #!/usr/bin/env python # -*- coding: utf- -*- import os im ...
- Android 获取android安装apk框的安装状态(如点击取消、返回)
最近鼓捣android,碰到个问题,因为没有root权限,需要调用Intent安装apk,但需要获取用户是否安装了(如,用户点击了返回或取消),查了很多文章,最后可以解决,但有瑕疵,解决方法如下: p ...
- 如何获取Android应用的packageName和ActivityName,识别应用中的控件
1.获取Android应用的packageName和ActivityName A:adb logcat >log.txt 在log中搜索package B:adb shell logcat | ...
- 获取Android自己写好了的apk以及反编译
今天,我们先说一下,获取Android自带的apk以及反编译它们来学习Android工程师是怎样写的,今天我们就以拿到Android自带的短信管理器的apk为例子 你可能有疑问,为什么要那么麻烦,从系 ...
- (转)获取android手机内部存储空间和外部存储空间的参数 && 如何决定一个apk的安装位置
转:http://blog.csdn.net/zhandoushi1982/article/details/8560233 获取android文件系统的信息,需要Environment类和StatFs ...
- 转:android中APK开机自动运行
背景知识:当Android启动时,会发出一个系统广播,内容为ACTION_BOOT_COMPLETED,它的字符串常量表示为android.intent.action.BOOT_COMPLETED.只 ...
- Android 5.0以上获取系统运行进程信息
在Android 5.0以上系统,调用getRunningAppProcesses 方法返回的列表为空,这是因为谷歌考虑到安全原因,已经把这个方法移除掉了, 那以后要获取系统运行的后台进程这个方法用不 ...
- 获取Android APK JNI库
/************************************************************************** * 获取Android APK JNI库 * 说 ...
- Android中apk动态载入技术研究(2)android插件化及实现
了解了android中类载入的前期知识点后,来看看android中DexClassLoader详细的实现 详细载入流程例如以下: 宿主程序会到文件系统比方SD卡中去载入APK[1],然 ...
随机推荐
- 在Linux上安装Chef工作站
导读 Chef是一个IT基础设施自动化软件,它可以管理你组织中所有的服务器和网络设备.当我们想与Chef服务器.任何物理节点(服务器.网络设备等)的基础设施进行交互时,我们需要一个Chef工作站.本教 ...
- [Functional Programming] mapReduce over Async operations with first success prediction (fromNode, alt, mapReduce, maybeToAsync)
Let's say we are going to read some files, return the first file which pass the prediction method, t ...
- struts2基础梳理(二)
本篇主要有:设置struts2匹配的扩展名.使用通配符,值栈,声明式异常以及标签. 设置扩展名: 默认是对.action和不加不论什么扩展名的进行处理.能够设置: <constant name= ...
- 在线sass编译器
工作中,我们可能遇到突发情况(无法安装考拉,gulp以及webpack以及其它的自动化工具),我们这时就要用即时编译工具了,那么它就是你的首选: http://tool.oschina.net/
- PL/SQL之DBMS_SQL程序包使用(1)(学习笔记)
dbms_sql程序包dbms_sql程序包是系统提供给我们的另一种使用动态SQL的方法:使用DBMS_SQL包实现动态的SQL的步骤如下:1.将要执行的SQL语句或者一个语句放到一个字符串变量中2. ...
- JDK目录结构和文件作用介绍
要想深入了解Java必须对JDK的组成, 本文对JDK6里的目录做了基本的介绍,主要还是讲解了下JDK里的各种可执行程序或工具的用途Java(TM) 有两个平台 JRE 运行平台,包括Java虚拟机, ...
- 算法笔记_210:第六届蓝桥杯软件类决赛真题(Java语言C组)
目录 1 机器人数目 2 生成回文数 3 空心菱形 4 奇怪的数列 5 密文搜索 6 居民集会 前言:以下代码仅供参考,若有错误欢迎指正哦~ 1 机器人数目 标题:机器人数目 少年宫新近邮购了小机器人 ...
- 如何开启firebug显示注释?
如何开启firebug注释显示?
- Cocos2d-x新建模板编译问题总汇
0:关于使用VC模板创建模板时候脚本错误.改动..\cocos2d-x-2.2.2\template\msvc\CCAppWiz.win32\HTML\1033中文件属性中:安全->解除锁定. ...
- Linux see 网卡当前流量
linux see网卡的当前流量 sar –n DEV 1 2 命令后面1 2 意思是:每一秒钟取1次值,取2次. DEV显示网络接口信息 -n参数很有用,他有6个不同的开关:DEV | EDEV ...