adb命令结合monkey的简单使用
链接:https://pan.baidu.com/s/18pIS1QtvqR3td34pMsCJ2Q
提取码:2e34
2025年当前最新版本:
链接: https://pan.baidu.com/s/1DQfkOFSoxmimU9-Fp1E_Qg
提取码: ddip

三:ADB命令详解
<port>是模拟器监听的端口。<device_name>是通过adb devices命令获取到的设备名称。
也可以通过命令指定一个tcp的端口:adb tcpip 5555 (根据自己需求是否要指定)
AndroidManifest.xml 未标记 android:testOnly="true")
adb shell am start -n <包名/完整Activity类名>:启动/打开某个应用

5,日志相关指令
adb adb logcat > name.txt:抓取设备log日志,保存到txt文件中
adb logcat | findstr "包名" > name.txt:抓取设备中指定应用log日志,并保存到txt文件中
结束抓取:Ctrl + C 结束后txt文件会保存到自己电脑的主用户目录下
更多log日志相关的操作命令,可自行查询,根据实际的业务场景使用。
rm -rf 强制递归删除目录内所有文件(但保留目录本身)。Permission denied)。



然后换一根数据线连接,也出现同样的问题,所以也不是数据线的问题。
通过adb kill-server和adb start-server,杀掉和重启,然后adb devices查看设备号,还是没有,所以跟这个也没关系。
然后我们通过这条命令(看硬件枚举,排除线/口/驱动):powershell "Get-PnpDevice | where {$_.FriendlyName -like '*adb*'}"
会发现打印出如下这种:

问题点:
1.你电脑里堆了 7 个残留/失效的「ADB Interface」实例(Status=Unknown),只有 1 个当前生效的「SAMSUNG Android ADB Interface」Status=OK。
2.这些僵尸设备会占用系统内部编号,导致新插手机时 Windows 不再给它分配驱动,于是 ADB 端永远收不到「device connected」事件,adb devices 当然为空。
Get-PnpDevice | Where-Object {$_.FriendlyName -like '*ADB*' -and $_.Status -eq 'Unknown'} |
ForEach-Object {
Write-Host "Removing" $_.FriendlyName $_.InstanceId
Remove-PnpDevice -InstanceId $_.InstanceId -Force -Confirm:$false
}
执行成功/完毕后,在输入:powershell "Get-PnpDevice | where {$_.FriendlyName -like '*adb*'}"
发现只有一个了,如下,此时重新连接adb即可。

如果上面的命令执行报错,如报:无法将“Remove-PnpDevice”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包 括路径,请确保路径正确,然后再试一次。
# 1. 列出所有 Unknown 的 ADB 设备
Get-PnpDevice | Where-Object {$_.FriendlyName -like '*ADB*' -and $_.Status -eq 'Unknown'}
# 2. 逐条卸载(用 pnputil 卸载驱动包并删除设备)
Get-PnpDevice | Where-Object {$_.FriendlyName -like '*ADB*' -and $_.Status -eq 'Unknown'} |
ForEach-Object {
Write-Host "卸载" $_.FriendlyName
& $env:SystemRoot\System32\pnputil.exe /remove-device $_.InstanceId
}
执行成功/完毕后,在输入:powershell "Get-PnpDevice | where {$_.FriendlyName -like '*adb*'}"
发现只有一个了,如下,此时重新连接adb即可。

如果此时还连不上,可以重启下电脑在连。

浙公网安备 33010602011771号