跳至主要內容

adb命令截图保存出错解决方案

yczha小于 1 分钟adbwindowsadb

在使用adb 工具截图保存到电脑端的时候,命令为:

adb exec-out -p > my/path

上面的命令获得的截图在windows系统上会出错,这是由于windows默认使用的换行符为\r\nAndriod 系统使用的是Linux内核,其换行表示为\n ,在手机端把二进制数据流传输给电脑时,Windows会自动把\n 替换为\r\n 因而为了正确显示,还需要一个转换,我们编写Python的转换代码如下:

# 转换图片格式
# adb 工具直接截图保存到电脑的二进制数据流在windows下"\n" 会被解析为"\r\n",
# 这是由于Linux系统下和Windows系统下表示的不同造成的,而Andriod使用的是Linux内核
def convert_img(path):
    with open(path, "br") as f:
        bys = f.read()
        bys_ = bys.replace(b"\r\n",b"\n")  # 二进制流中的"\r\n" 替换为"\n"
    with open(path, "bw") as f:
        f.write(bys_)

使用上面的函数转换后即可正确打开图片了!