> 文章列表 > ADB使用经验

ADB使用经验

ADB使用经验

adb是Android Debug Bridge的缩写,是一种用于与Android设备通信的命令行工具。它可以通过USB连接或Wi-Fi连接,允许开发者在计算机和Android设备之间进行文件传输、安装应用程序、调试应用程序等操作。要使用adb,需要先将Android设备与计算机连接,并确保设备允许USB调试模式。然后,在计算机的命令行界面上输入adb命令,后面加上相应的参数即可执行各种操作。例如,adb devices 命令可以列出已连接的Android设备,adb install 命令可以将一个apk文件安装到Android设备上。可以通过 adb --help 命令来获取更多的adb命令及其用法。

我们可以使用adb实现手机的自动化

1.下载adb:

Android SDK环境

①SDK官方下载地址:https://developer.android.com/studio/releases/platform-tools

②将下载下来的SDK解压后按照下图配置环境变量(这里的变量值为自己解压后的SDK路径)

ADB使用经验

然后再在path中加入这两条路径即可:%ANDROID_HOME%\\tools;%ANDROID_HOME%\\platform-tools

ADB使用经验

最后在cmd中输入adb有如下提示表示安装成功

ADB使用经验

2.连接手机:

手机和电脑肯定要在统一局域网内,即连接同一个WIFI。

1.打开手机开发者模式,并通过USB接口连接电脑。

2.打开手机的开发者模式,勾选USB调试,和“仅充电”模式下允许ADB调试(这两步很重要)

(其他手机有adb网络调试的也可以打开)

3.打开cmd终端输入adb devices

ADB使用经验

出现这个说明USB线连接成功

4.接着输入 adb tcpip 5555 (这个是从usb模式切换到无线连接,后面的5555为端口,可以指定其他的端口,前提是端口未被调用)

5.输入adb connect 192.168.xxxx.xxxx:5555 (192.168.xxxx.xxxx为你手机的ip地址,5555为了设置·的端口号)

ADB使用经验

出现这个说明连接成功 ,输入 adb devices 测试一下是否真的连接成功

ADB使用经验

想要断开输入

adb disconnect 手机ip //断开指定IP

adb disconnect //断开所有

6.这时可以拔下数据线了 ,输入adb devices

ADB使用经验

这样无线调试就成功了

第二次连接的时候无需数据线了,在保证电脑和手机在同一个局域网的情况下直接在cmd终端输入

adb connect 192.168.xxxx.xxxx:5555 (192.168.xxxx.xxxx为你手机的ip地址,5555为了设置·的端口号)就可以成功连接了

3.adb的常见命令:

获取当前启动app的包名和启动名
adb shell dumpsys window | findstr mFocusedApp 卸载软件
adb uninstall <软件名>
adb uninstall -k <软件名>
如果加 -k参数,  为卸载软件 但是保留配置和缓存文件
开启adb服务
adb start-server
关闭adb服务,杀掉进程
adb kill-server
连接设备
adb connect 设备ip(如:192.168.1.61)
如果是USB连接,直接会连接ADB,如果是想通过网络连接(有线或者无线),则需要在同一个局域网,通过IP连接。上面192.168.1.61替换成想要连接设备的IP即可
断开设备
adb disconnect 设备ip(如:192.168.1.61)
清除应用数据与缓存
adb shell pm clear (apk包名)
获取文件的读写权限
adb remount
有些设备并不能直接adb remount,必须要先以root身份进入,先执行adb root,在执行adb remount
查询已安装包名列表
adb shell pm list package
对com.xx.mm包使用monkey命令
adb shell monkey -p com.xx.mm --throttle 200 50000
查找monkey进程信息
adb shell ps | find "monkey"
杀掉monkey进程,例子中的数字是monkey的PID进程号
adb shell kill 23770
重启手机
adb shell reboot
打开svc帮助界面
adb shell svc
查询wifi操作帮助
adb shell svc wifi
关闭wifi
adb shell svc wifi disable
打开wifi
adb shell svc wifi enable
擦除data,即恢复出厂设置
adb shell wipe data
指定查询"mF"的activity信息
adb shell dumpsys activity | find "mF"
启动指定activity
adb shell am start -n com.android.browser/.BrowserActivyty
查看am命令的帮助信息
adb shell am
清空logcat日志
adb logcat -c 
查看bug报告
adb bugreport
获取设备的ID和序列号
adb get-serialno

更多请看:

(4条消息) ADB 操作命令详解及用法大全_Lucas__liu的博客-CSDN博客

4.在python中使用adb:

# ---------多台手机刷视频-------------
#短视频平台通用
import os
import time
import sys
import random
import threadinga=130      #int(input('输入次数需要滑动的次数:'))  #刷多少个视频def phone1set():os.system('adb tcpip 5555') #使用adb打开无线开关,如果报错,此时请将手机与电脑先通过数据线连接,试运行一次后再拔掉数据线os.system('adb connect 192.168.1.16:5555') #连接手机的IP地址
#是否多台手机同时刷
def phone2set():os.system('adb tcpip 5556') #使用adb打开无线开关,如果报错,此时请将手机与电脑先通过数据线连接,试运行一次后再拔掉数据线os.system('adb connect 192.168.1.18:5556') #连接手机的IP地址def phone1():c=0while c<a: #循环运行os.system('adb -s 192.168.1.16:5555 shell input swipe 550 1300 550 350') #使用adb指令滑动手机time.sleep(random.randint(8,22)) #随机刷视频时间8-22秒之间c = c + 1print(f"手机1刷新{c}次")else:print("任务全部完成")fun=os.system('adb kill-server') #运行结束杀掉adb进程sys.exit("bye")def phone2():b=0while b<a:os.system('adb -s 192.168.1.18:5556 shell input swipe 550 1300 550 350')time.sleep(random.randint(8,20))b=b+1print(f"手机2刷新{b}次")else:print("任务全部完成")fun=os.system('adb kill-server')sys.exit("bye")def main():os.chdir(r"D:\\SoftWare\\Android SDK\\android-sdk_r24.4.1-windows\\android-sdk-windows\\platform-tools") #切换到adb所在目录,调用adb工具phone1set()   #连接手机1time.sleep(5) #暂停5秒给手机电脑连接的反应时间phone2set()print("已连接设备名称如下:")print(os.system('adb devices')) #查看连接信息,可判断是否连接成功thread_phone1=threading.Thread(target=phone1) #启用多线程控制thread_phone1.start()thread_phone2=threading.Thread(target=phone2)thread_phone2.start()thread_phone2.join()thread_phone1.join()if __name__ == "__main__":
main()