我已经将我的设备HTC Evo Design 4G植根,并且尝试adb拉/ data数据,并显示“ 0个文件拉0个文件已跳过”
我能够拉/System/build.prop。我该如何拉根文件夹。
谢谢你
我已经将我的设备HTC Evo Design 4G植根,并且尝试adb拉/ data数据,并显示“ 0个文件拉0个文件已跳过”
我能够拉/System/build.prop。我该如何拉根文件夹。
谢谢你
Answers:
下面的文件和目录/data/data
受“普通用户”保护,因此,除非ADB守护程序以root模式运行,否则您不能简单地“拉”它们。除了你提到的文件(/system/buildprop
至少是可读的所有应用程序),下面的文件夹/data/data
是“看不见”的(除了根),所以他们甚至不能被读取。
为了能够adb pull
在它们上使用,您需要首先使ADB守护程序以root模式运行。取决于设备,一个简单的adb root
命令可能会执行此操作-但大多数设备都会拒绝执行。在这种情况下,您可以使用chainfire的adbd insecure:在您的设备上安装此应用,在设备上启动它,然后手动切换到“不安全”模式。现在pull
应该成功了。
备注:之所以称为“不安全”,是因为adbd
以root身份运行使每个人都拥有一台计算机,并通过USB电缆访问了设备上的所有内容。以防万一你想知道。
如果您的手机扎根,可以通过三种方法解决此问题。第一种是使用ADBD不安全。
另一个是将其移动到具有root用户的另一个文件夹,然后从那里拉出它:
$ adb shell
shell@android:/ $ su
root@android:/ # mkdir /sdcard/data
root@android:/ # cp /data/data/* /sdcard/data
root@android:/ # exit
shell@android:/ $ exit
$ adb pull /sdcard/data .
$ adb shell
shell@android:/ $ rm -r /sdcard/data/
shell@android:/ $ exit
我认为您可以构建一个脚本,例如:
echo 'echo "mkdir /sdcard/data; cp $1/* /sdcard/data; exit" | su; exit' | adb shell
adb pull /sdcard/data .
echo 'rm -r /sdcard/data; exit' | adb shell
并将其保存在某处。
最后,第三个选项是chmod -R 1777 /data/data
,但这更加不安全,因此不建议使用。
$1/*
指什么?是/data/data
目录吗?
您不能直接拉数据文件夹,因为adb没有文件列表访问权限。如果要拉/ data文件夹,则可以通过恢复来完成([自定义恢复,CWM / TWRP]在设备处于恢复模式时运行adb,希望是自定义恢复)。或者以根用户身份将/ data复制到另一个目录(sdcard)并将其从那里拉出。
这对我有用:*确保您使用的是最新的ADB版本。
'infocus $ adb shell'
'shell @ m1:/ $ su'
然后您会注意到“ $”变成“#”,如下所示:
'root @ m1:/#'
-哈希让您知道您处于SU模式。
'root @ m1:/#mkdir / sdcard / data /'
*指向要复制的文件的根目录-例如,对于我来说,我想备份/复制我的应用程序并将其存储在计算机上,因此:
'root @ m1:/ data / app#'
'root @ m1:/ data / app#ls
com.abtnprojects.ambatana-1
com.acr.rootfilemanager-1
com.amazon.kindle-1
com.android.chrome-1
com.android.mms-1
com.android。自动贩卖2'
'root @ m1:/ data / app#cp -R * / / sdcard / data /'
一旦您按Enter键,如果文件很大,显然将需要一段时间来复制文件,因此光标将空转一会儿,看起来好像什么也没做,但是!它正在复制文件,所以不要惊慌!并且不要停止该过程!!!-如果您只想打开另一个ADB Shell会话,然后转到要传输文件的文件夹,并执行“ ls”检查,您应该会看到空文件夹现在正在填充文件。转移完成后,您将获得外壳。
转到“ sdcard /数据”,并确保所有内容均已复制为“ ls”:
'root @ m1:/ sdcard / data#ls
com.abtnprojects.ambatana-1
com.acr.rootfilemanager-1
com.amazon.kindle-1
com.android.chrome-1
com.android.mms-1'
此时,如果尚未在目标计算机上创建文件夹,请执行此操作。我方便地创建了一个名为“ apps”的文件夹
现在,让我们一次执行所有文件的难以捉摸的递归ADB PULL:-确保您已退出ADB会话,因为我们一直处于SU模式,因此需要退出两次:
'root @ m1:/ sdcard / data#exit''shell
@ m1:/ $ exit'
'AtomicusZro $ adb pull -a / sdcard / data / apps /'
您应该会看到以下内容:
'[69%] /sdcard/data/com.google.android.gms-1/base.apk:74%'
完成后:
'/ sdcard / data /:提取296个文件。5.1 MB / s(221.352s中的1193942288字节)'
和瞧!
注意事项:。
不知道是否有问题,但我使用Mac。
如果在ADB会话中您也无法获得“ su特权”:
1:您可能需要授予ADB根访问权限
2:“超级用户”,它安装不正确。
请仔细检查您的命令
祝好运。-
在我的android 7.1设备上工作。使它工作的步骤:
您现在可以将adb拉入您的PC。
希望这可以帮助
哈里斯
adb root
吗