将文件夹从Android应用程序复制到本地Windows目录

时间:2016-05-09 11:59:24

标签: android shell copy adb

我尝试使用adb pull将应用容器内的文件夹复制到本地Windows文件夹。该设备运行的是Android 5.1.1,并且未生根

cpadb shell adb pull /data/data/DroidSample.DroidSample/files/MetroLog/MetroLogs C:/temp/test 无法正常工作。如何复制文件夹?

以下方法无效:

方法1

adb pull
  

错误:找不到设备

在shell中,您无法查看data。请参阅this

方法2

DDMS无法访问adb shell run-as DroidSample.DroidSample cp /files/MetroLog/MetroLogs/ C:/temp/test 文件夹。

方法3

adb shell
run-as DroidSample.DroidSample
cp /data/data/DroidSample.DroidSample/files/MetroLog/MetroLogs/ C:/temp/test
  

cp:/ files / MetroLog / MetroLogs /:没有这样的文件或目录

方法4

adb shell
run-as DroidSample.DroidSample
chmod 777 /files/MetroLog/MetroLogs
exit
exit
adb pull /data/data/DroidSample.DroidSample/files/MetroLog/MetroLogs C:/temp/test
adb shell run-as DroidSample.DroidSample
chmod 700 /files/MetroLog/Metrologs
  

cp:/data/data/DroidSample.DroidSample/files/MetroLog/MetroLogs是一个目录(未复制)。

here也无效。

方法5

adb shell
mkdir /sdcard/tmp
cp /data/data/DroidSample.DroidSample/files/MetroLog/MetroLogs /sdcard/tmp
  

remote object' /data/data/DroidSample.DroidSample/files/MetroLog/MetroLogs'不存在

所以This也没有工作。

方法6

adb exec-out run-as DroidSample.DroidSample cat "files/MetroLog/MetroLogs/Log - 20160509.log" > C:/temp/test/test.log
  

cp:/data/data/DroidSample.DroidSample/files/MetroLog/MetroLogs:权限被拒绝

this也无效。

方法7

唯一一半工作就是这个

.conll

但是在这里我没有获得原始文件,我还必须知道确切的文件名。另外,我松散了换行符,我必须为每个文件执行此操作。不是我想要的。

所以我的想法已经不多了。如何访问内部存储的文件并将其复制?

3 个答案:

答案 0 :(得分:1)

您正试图在实际的Android设备上获得对/ data分区的读取权限。没有root访问权限就不可能这样做,即使app文件夹是你的。由于未授予读取/数据分区权限且无法授予权限,除非您使用的是模拟器。在模拟器上,默认情况下,它具有开发人员的管理员权限,您可以访问数据分区进行读写。在实际设备上你不能。不是adb,不是DDMS。

基本上讲,任何需要访问/ data下的文件的东西都不会起作用。无论你是起诉cp命令还是拉取命令。当你的内核读取以/ data / ...开头的路径的开头时,它说:哎呀,没有办法。

答案 1 :(得分:1)

您正在尝试访问无根设备无法访问的Android设备的 / data 文件夹。

答案 2 :(得分:0)

您几乎解决了问题。由于这种存储是安全的,因此您需要执行另一步骤。您需要将文件从安全位置复制到设备的sdcard。然后您可以通过USB或android pull将其复制到任何地方。这是我成功执行的命令序列。

adb shell
run-as DroidSample.DroidSample
cd shared_prefs
cp  DroidSample.DroidSample_preferences.xml /sdcard/DroidSample.DroidSample_preferences.xml
exit
exit
adb pull /sdcard/DroidSample.DroidSample_preferences.xml C:/test/

就是这样。

我真的很感谢您发布问题的方式。祝你好运。