我已經將我的設備HTC Evo Design 4G紮根了,我嘗試adb拉/ data數據,並說“ 0個文件拉0個文件已跳過”
我能夠拉/System/build.prop 。我如何拉根文件夾。
謝謝youiua
我已經將我的設備HTC Evo Design 4G紮根了,我嘗試adb拉/ data數據,並說“ 0個文件拉0個文件已跳過”
我能夠拉/System/build.prop 。我如何拉根文件夾。
謝謝youiua
/ data / data
下的文件和目錄受“普通用戶”保護,因此,除非ADB守護程序以root模式運行,否則您不能簡單地“拉”它們。除了您所引用的文件( / system / buildprop
至少對所有應用程序均可讀)以外, / data / data
下的文件夾是“不可見”(root用戶除外),因此甚至無法讀取它們。
要能夠對它們使用 adb pull
,您需要使ADB守護程序在root用戶中運行模式優先。根據設備的不同,一個簡單的 adb root
命令可能會執行此操作-但大多數設備都拒絕這樣做。在這種情況下,您可以使用Chainfire的 adbd不安全 :在您的設備上安裝此應用,在設備上啟動它,然後手動切換到“不安全”模式。現在, pull
應該會成功。
備註:之所以稱為“不安全”,是因為以root用戶身份運行 adbd
可以使所有人都有計算機和USB電纜訪問設備上的所有內容。萬一你想知道。
如果您的手機已紮根,則有三種解決方法。第一個是使用不安全的ADBD。
另一個是將其移動到具有root用戶的另一個文件夾,然後從那里拉出它:
$ adb shellshell @ android:/ $ suroot @ android:/#mkdir / sdcard / dataroot @ android:/#cp / data / data / * / sdcard / dataroot @ android:/#exitshell @ android:/ $ exit $ adb pull / sdcard / data。$ adb shellshell @ android:/ $ rm -r / sdcard / data / shell @ android:/ $ exit
我認為您可以構建如下腳本:
echo'echo“ mkdir / sdcard / data; cp $ 1 / * / sdcard / data; exit” | su退出” | adb shelladb pull / sdcard / data .echo'rm -r / sdcard / data;退出” |最後,第三個選項是 chmod -R 1777 / 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.vending-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特權”:
第一個:您可能需要授予ADB根訪問權限
第二個:“超級用戶”,它安裝不正確
。再次檢查您的命令
祝您好運。-
在我的android 7.1設備上工作。使它正常工作的步驟:
您現在可以執行adb
希望這會有所幫助
Haris