在Android系统中,adb shell是一个强大的工具,可以让我们在电脑上通过命令行操作Android设备上的文件和程序。其中,push和pull命令可以实现电脑和手机之间的文件传输,非常方便。但是,有时候(客制化需求或者防止某些内容被盗取)我们可能不希望某些文件被随意传输,比如系统敏感文件或者应用白名单文件。那么,我们该如何实现adb shell push/pull的禁止特定文件功能呢?
android11源码 push/pull的流程
为了解决这个问题,需要先了解android11源码system/core/adb/daemon/file_sync_service.cpp
中push/pull命令的实现流程。我们以adb pull为例,简单介绍一下主要步骤: