由于安全问题和许多其他原因,这可能是不可能的,但它值得一试,所以这里有:
是否可以使用ADB将文件从Android设备直接推送到计算机?
你可能会问,为什么要这样呢?好问题。我发现在计算机上而不是在Android设备上查看较大的Strings
非常有用,尤其是Log.d()
不会显示长度超过几百个字符的Strings
。在我的Nexus 7上很难看到像SOAP请求和响应,其他xml文件这样的东西。我已经尝试了UsbManager
类和UsbDevice
类的一些东西,但我似乎无法找到USB连接到我的电脑。
PS。我可以想到其他方法,比如使用日志web服务,我只关心,或编写一个定期拉出某个(日志)目录的脚本,但我只是好奇它是否可能,它让我的生活永远所以稍微容易一点。
答案 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卡。有你的文件。你的设备文件。现在把它们拿到你的电脑上
右侧顶部有两个按钮。 一个按钮说从设备中提取文件 另一个按钮说将文件推送到设备
您需要从设备中提取文件。 选择相应的文件,然后单击从设备中提取文件按钮。