使用ADB Pull文件传输中卡住的解决方法

使用ADB Pull文件传输中卡住的解决方法

    • 原因分析:
    • 尝试的方法
    • 最终解决方法
    • 优化方法

原因分析:

硬件:PCIE转USB3.0(无供电),PC到手机延长线15M。
使用同一ADB.exe程序在笔记本使用短线测试正常,怀疑硬件连接距离过长或者PCIE供电不稳定。ADB使用的Pull文件也没有断点续传的算法优化,所以导致传输过程中硬件出现波动卡在传输过程。

尝试的方法

我们程序里面直接调用的是ADB.exe这个程序
开始解决思路是当出现卡住超时结束掉ADB.exe然后重新启动在发送,这样会导致杀死ADB进程后再打开识别不到手机,尝试过模仿Ctrl+C结束Pull操作也已失败告终。

最终解决方法

直接调用ADB程序改为通过调用cmd在cmd里面发送adb指令,如果出现传送超时结束掉cmd进程在重新打开,结束掉cmd进程只会取消当前执行的adb指令,adb进程还在从而实现类似断点续传。

优化方法

可以使用adb指令获取想要Pull的文件夹下所有问文件路径,保存到List里面然后逐一发送Pull指令,遇到超时重新发送当前文件pull指令,这样比直接重新Pull文件夹要快速很多。

你可能感兴趣的:(adb)