tes*_*ing 5 shell android copy adb
我正在尝试使用Android Adb Command Prompt
将应用程序容器内的文件夹复制到本地 Windows 文件夹。该设备运行的是 Android 5.1.1 并且未获得 root 权限。
adb pull
或者cp
不工作。如何复制文件夹?
以下方法不起作用:
方法一
adb shell
adb pull /data/data/DroidSample.DroidSample/files/MetroLog/MetroLogs C:/temp/test
Run Code Online (Sandbox Code Playgroud)
错误:找不到设备
在壳内你看不到做什么adb pull
。看这里。
方法2
DDMS 无法访问该data
文件夹。
方法3
adb shell
run-as DroidSample.DroidSample
cp /files/MetroLog/MetroLogs/ C:/temp/test
Run Code Online (Sandbox Code Playgroud)
cp: /files/MetroLog/MetroLogs/: 没有这样的文件或目录
方法4
adb shell
run-as DroidSample.DroidSample
cp /data/data/DroidSample.DroidSample/files/MetroLog/MetroLogs/ C:/temp/test
Run Code Online (Sandbox Code Playgroud)
cp: /data/data/DroidSample.DroidSample/files/MetroLog/MetroLogs 是一个目录(未复制)。
这也是行不通的。
方法5
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
Run Code Online (Sandbox Code Playgroud)
远程对象“/data/data/DroidSample.DroidSample/files/MetroLog/MetroLogs”不存在
所以这也是行不通的。
方法6
adb shell
mkdir /sdcard/tmp
cp /data/data/DroidSample.DroidSample/files/MetroLog/MetroLogs /sdcard/tmp
Run Code Online (Sandbox Code Playgroud)
cp:/data/data/DroidSample.DroidSample/files/MetroLog/MetroLogs:权限被拒绝
这也是行不通的。
方法7
唯一能起到一半作用的是这个
adb exec-out run-as DroidSample.DroidSample cat "files/MetroLog/MetroLogs/Log - 20160509.log" > C:/temp/test/test.log
Run Code Online (Sandbox Code Playgroud)
但在这里我没有得到原始文件,而且我还必须知道确切的文件名。此外,我失去了换行符,我必须为每个文件执行此操作。这不是我想要的。
所以我已经没有主意了。如何访问内部存储的文件并将其复制过来?
您正在尝试获得对实际 Android 设备上 /data 分区的读取权限。即使应用程序文件夹是您的,如果没有 root 访问权限,这种事情也是不可能的。因为除非您使用模拟器,否则不会授予并且无法授予读取 /data 分区的权限。在模拟器上,默认开发者具有管理员权限,可以访问数据分区进行读写。在实际设备上你不能。不适用于 adb,不适用于 DDMS。
所以基本上来说,任何需要访问 /data 下这些文件的东西都行不通。无论你起诉cp命令还是pull命令。当你的内核读取到以 /data/... 开头的路径的开头时,它会说:哎呀,没有办法。
归档时间: |
|
查看次数: |
19529 次 |
最近记录: |