通过ADB将文件从Android推送到PC

时间:2014-01-23 11:27:10

标签: android logging adb

由于安全问题和许多其他原因,这可能是不可能的,但它值得一试,所以这里有:

是否可以使用ADB将文件从Android设备直接推送到计算机?

你可能会问,为什么要这样呢?好问题。我发现在计算机上而不是在Android设备上查看较大的Strings非常有用,尤其是Log.d()不会显示长度超过几百个字符的Strings。在我的Nexus 7上很难看到像SOAP请求和响应,其他xml文件这样的东西。我已经尝试了UsbManager类和UsbDevice类的一些东西,但我似乎无法找到USB连接到我的电脑。

PS。我可以想到其他方法,比如使用日志web服务,我只关心,或编写一个定期拉出某个(日志)目录的脚本,但我只是好奇它是否可能,它让我的生活永远所以稍微容易一点。

3 个答案:

答案 0 :(得分:1)

正如我在您的问题中所读到的,您非常清楚可以将文件从Android设备提取到PC,因此我不会建议您这样做。

要回答您的问题:,这是不可能的。这不是adb的工作方式。即使您可以从Android“推送”到PC,您也需要一个软件来处理数据。 Android不包含任何可以实现这一点的API,也不包含Android SDK的任何部分。

您仍然可以使用您已经知道的任何方法(adb pull,Eclipse DDMS View,是的,甚至是您自己建议的日志记录Web服务。)

希望这有点澄清。

答案 1 :(得分:0)

要从仿真器或设备复制文件或目录(及其子目录),请使用

adb pull <remote> <local>

有关用法的更多详细信息,请参阅this链接

编辑:我的理解是你希望你的应用程序正确提取特定文件?如果是,您需要使用

public class YourAppCode {
    public static void main(String[] args) throws Exception {
        Runtime runtime = Runtime.getRuntime();
        Process process = runtime.exec(new String[] {"/usr/bin/adb", "devices");
    }
}

您需要发送pull命令以及源和目标,而不是设备。

答案 2 :(得分:0)

您可以将文件从ADB推送到PC(eclipse)。

在Eclipse Window-Open Perspective-DDMS

然后在DDMS视图中从左侧列表中选择您的设备。

在右侧视图中,您会找到一个名为 mnt 的文件夹,在其中您将找到SD卡。有你的文件。你的设备文件。现在把它们拿到你的电脑上

右侧顶部有两个按钮。 一个按钮说从设备中提取文件 另一个按钮说将文件推送到设备

您需要从设备中提取文件。 选择相应的文件,然后单击从设备中提取文件按钮。