0.工具包安装
手机进入USB调试模式
Mac安装adb:
brew install Caskroom/cask/android-platform-tools
测试adb 是否安装成功:
adb devices
sudo apt-get install android-tools-adb
或者:
安装brew
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
安装adb
brew cask install android-platform-tools
1.adb devices
显示连接设备
adb devices -l
2.adb get-state
输出设备状态,有三种:offline | bootloader | device
在python中:
import subprocess
result=subprocess.check_output('adb get-state', shell=True)
if b'device' in result:
return True
subprocess返回的是b'device\n',表面设备连接
3.查看在手机上是否含有某个文件夹
Terminal中
adb shell 'if [ -e /data/local/tmp ]; then echo yes; else echo no; fi;'
在python中
subprocess.check_output("adb shell 'if [ -e /data/local/tmp ]; then echo yes; else echo no; fi;'", shell=True)
注意:
在adb shenll 'if [];then xxx;else xxx;fi;' 中,⚠️这里是;不是,⚠️then⚠️末尾的fi
⚠️其他shell的语句在手机上执行也是 adb shell ‘shell 语句’
⚠️用subprocess.check_output(cmd,shell=True)时,用“”或‘’将cmd语句包起来,即cmd=“xxx”,既然cmd是字符串,那么也就可以用format来编辑
⚠️在[] 里面的头尾加空格,多加空格不犯错
4.export
5.adb pull
下载文件到电脑(adb pull 手机文件路径 电脑目标路径)
6.adb push
发送文件到设备(adb push 电脑文件路径 手机目标路径)
7.执行sh文件
需要将编辑好的sh文件 adb push到手机上,再adb shell sh文件执行
8.获取安卓系统属性
adb shell getprop ro.product.board
返回sdm660,sdm710等
9.adb无法识别手机设备
有些手机在usb2.0上可以识别到,但在usb3.0就识别失败了,对服务器添加一下设备的VID号就OK了
(1)插拔adb无法识别的手机,比较lsusb前后有什么区别,
(2)例如对某台vivo设备:Bus 001 Device 010: ID 2d95:6003
2d95为设备的VID号
(3)将该手机的VID号码添加 vim ~/.android/adb_usb.ini
(4)新加一行ox2d95
(5)在手机端点击弹出的信任按钮
(6)sudo adb kill-server
sudo adb devices -l
可以参考:https://www.cnblogs.com/benhero/p/4287252.html
参考文献:
https://blog.csdn.net/signjing/article/details/51835017