一、adb环境安装
传送门
https://jingyan.baidu.com/article/7f41ecec349c0f593d095c84.html
二、adb命令
启动app:adb shell am start -n com.tencent.mobileqq/.activity.SplashActivity
强制关闭app:adb shell am force-stop com.tencent.mobileqq
完整代码部分循环启动,以qq为例
@echo off setnum=1 :start if %num%equ 45 pause rem 当循环次数达到45次则停止 adb shell am start -n com.tencent.mobileqq/.activity.SplashActivity set /anum+=1 ping 127.0.0.1 -n "5">nul rem 延迟5s gotostop :stop adb shell am force-stop com.tencent.mobileqq ping 127.0.0.1 -n "1">nul gotostart
三、相关知识
1、代码解释
① @echo off:关闭回显,即不显示C:\User\zhuxu>
② rem:用于注释
③ set
set /a 执行数学计算
set /p 提示用户输入
例如:
@echo off set /p b=input a number: set /a a=2*%b%
2、延迟处理
利用ping命令实现延时,方法巧妙而且可以控制,但精度不高。
如:ping-n 3 127.0.0.1>nul大约可以停顿2秒 ,-n后的数字是发送包的数目,为暂停秒数加一。此法每秒有0.5%的偏差,时间精度为1秒。
①ping 127.0.0.1 先检查TCP/IP协议栈是否正常
②ping 本地ip 检查你网卡是否工作正常
③ping 网关地址 检查和网关连接性
④ping 远程网站 检查远程连接
3、如何找到包名和第一个启动页
(com.tencent.mobileqq/.activity.SplashActivity
{包(package)名}/{包名}.{活动(activity)名称})
①应用包名
列出手机装的所有app的包名:adb shell pm list packages
列出系统应用的所有包名:adb shell pm list packages -s
列出除了系统应用的第三方应用包名:adb shell pm list packages -3
②第一个启动页active
方法一:直接问开发,高效简单,哈哈哈
方法二:app已安装到手机上
adb logcat –c 作用:清除logcat内容
adb logcat ActivityManager:i *:s
输入第二行命令后如下所示
然后在手机上启动QQ
方法三:有apk安装文件,使用apktool工具反编译
apktool.jar官网下载地址:https://ibotpeaches.github.io/Apktool/
apktool.bat官网下载地址:https://ibotpeaches.github.io/Apktool/install/
反编译命令:apktool d -f c:\test.apk -o c:\test
命令中test.apk指的是要反编译的APK文件全名,test为反编译后资源文件存放的目录名称,即为:apktool.bat d -f [apk文件 ] -o [输出文件夹],反编译结束后得到如下文件
打开AndroidManifest.xml文件,搜索LAUNCHER,搜索结果较多,往下找找,找到有category这一行,此对应的activity标签后面就可以找到相应的active名,如下图
其他:查看当前运行软件最上层的active
adb shell dumpsys activity | findstr "mFocusedActivity"
另:adb常用命令传送门
https://blog.csdn.net/androidstar_cn/article/details/52782863