获取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],然 ...
随机推荐
- 2017.8.30 elasticsearch-sql的安装与使用
参考来自: http://blog.csdn.net/u012307002/article/details/52837756 https://github.com/NLPchina/elasticse ...
- ArcGIS Pro体验03——主界面
主界面和Office类似,应该上手比较快.新建Map后,加载了美国地图,毕竟是ESRI公司嘛.除项目(PROJECT),另外还有六个菜单面板,分别是地图(MAP).插入(INSERT).分析(ANAL ...
- STL - Map - 运行期自定义排序
RuntimeStringCmp.cpp #include <string> using namespace std; // function object to compare stri ...
- 动态设置js的属性
目标:js的属性名能够使用变量 举例:js对象object,当赋给该对象属性的时候能够採用下面方式 var object; object.prop1 = "value1"; obj ...
- eclipse 配置多个tomcat
eclipse 配置多个tomcat CreateTime--2018年4月23日15:32:28 Author:Marydon windows-->Preferences-->Ser ...
- pythong 中的 __call__
python __call__ (可调用对象) __call__ Python中有一个有趣的语法,只要定义类型的时候,实现__call__函数,这个类型就成为可调用的. 换句话说,我们可以把这个类型的 ...
- Linux下动态共享库加载时的搜索路径详解
对动态库的实际应用还不太熟悉的读者可能曾经遇到过类似“error while loading shared libraries”这样的错误,这是典型的因为需要的动态库不在动态链接器ld.so的搜索路径 ...
- 零基础学软件测试V2.0
关于本教程 本系列是在之前的基础上进行了修改更新,原来的内容显得过于简单,但都是重点,这次对于过于简单部分增加了更详细的内容. 目前国内越来越重视软件测试,人才的缺口也是比较大的,为了帮助大家快速的学 ...
- Log4Net的概念和使用
第一篇文本日志 log4net简介: log4net简介: log4net是一个功能著名的开源日志记录组件,由java平台而来. 利用log4net可以方便地将日志信息记录到文件.控制台.Window ...
- iOS获取手机型号,Swift获取手机型号(类似iphone 7这种,检测机型具体型号)
获取手机设备信息,如name.model.version等, 但如果想获取具体的手机型号,如iphone5.5s这种,就需要如下这种(含Swift和OC两种写法) Swift建议添加到extensio ...