高版本安卓支持直接保存:
adb exec-out screencap -p > 1.png
低版本安卓
- 比較常規(guī)的辦法的是:
先截圖放在手機(jī)的sdcard里,然后pull到電腦端
adb shell screencap /sdcard/1.png
adb pull /sdcard/1.png ./
- adb命令可以直接將流保存在電腦端,android6以上的系統(tǒng)
如果是linux系統(tǒng):
adb shell screencap -p > 1.png
如果是windows系統(tǒng),執(zhí)行上述命令出來(lái)的圖片,由于換行符的問(wèn)題,會(huì)導(dǎo)致打不開文件,需要把\r\n換成\n
def convert_img():
with open("./1.png", "rb") as f:
bys = f.read()
bys_ = bys.replace(b"\r\n",b"\n") # 二進(jìn)制流中的"\r\n" 替換為"\n"
with open("./2.png", "wb") as f:
f.write(bys_)
f.close()
有的手機(jī)可以直接用以下命令生成在本地
adb exec-out screencap -p > test.png
參考文獻(xiàn):
https://stackoverflow.com/questions/13578416/read-binary-stdout-data-from-adb-shell/20141481#20141481