adb命令循环启动android app

一、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


猜你喜欢

转载自blog.csdn.net/xugexuge/article/details/80280493