Tôi đã root thiết bị HTC Evo Design 4G của mình và tôi cố gắng adb pull / data data và nó báo "0 file pull 0 file bị bỏ qua"
Tôi đã có thể kéo / System / build.prop. Làm thế nào tôi có thể kéo thư mục gốc.
Cảm ơn bạn
Tôi đã root thiết bị HTC Evo Design 4G của mình và tôi cố gắng adb pull / data data và nó báo "0 file pull 0 file bị bỏ qua"
Tôi đã có thể kéo / System / build.prop. Làm thế nào tôi có thể kéo thư mục gốc.
Cảm ơn bạn
Câu trả lời:
Các tệp và thư mục bên dưới /data/data
được bảo vệ khỏi "người dùng trung bình", do đó bạn không thể "kéo" chúng trừ khi trình nền ADB đang chạy ở chế độ gốc. Khác với tệp bạn đang đề cập ( /system/buildprop
ít nhất là có thể đọc được bởi tất cả các ứng dụng), các thư mục bên dưới /data/data
là "vô hình" (ngoại trừ root), do đó chúng thậm chí không thể đọc được.
Để có thể sử dụng adb pull
chúng, trước tiên bạn cần làm cho daemon ADB của bạn chạy ở chế độ root. Tùy thuộc vào thiết bị, một adb root
lệnh đơn giản có thể làm điều đó - nhưng hầu hết các thiết bị sẽ từ chối thực hiện. Trong những trường hợp đó, bạn có thể sử dụng adbd không an toàn của chainfire : Cài đặt ứng dụng này trên thiết bị của bạn, khởi động nó ở đó và tự chuyển sang chế độ "không an toàn". Bây giờ pull
nên thành công.
Lưu ý: Nó được gọi là "không an toàn" vì việc chạy adbd
bằng root giúp mọi người có máy tính và cáp USB truy cập mọi thứ trên thiết bị của bạn. Chỉ trong trường hợp bạn tự hỏi.
Nếu điện thoại của bạn bắt nguồn, có ba cách để giải quyết vấn đề này. Đầu tiên là sử dụng ADBD không an toàn .
Một cái khác là di chuyển nó đến một thư mục khác bằng root và sau đó kéo nó từ đó:
$ 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
Tôi nghĩ bạn có thể xây dựng một kịch bản như:
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
và lưu nó ở đâu đó.
Cuối cùng, tùy chọn thứ ba là chmod -R 1777 /data/data
, nhưng điều này không an toàn hơn nhiều, vì vậy nó rất nản lòng.
$1/*
đề cập đến? Có phải là /data/data
thư mục?
Bạn không thể kéo thư mục dữ liệu trực tiếp vì adb không có quyền truy cập danh sách tệp vào nó. Nếu bạn muốn kéo thư mục / data, bạn có thể thực hiện thông qua recovery ([Phục hồi tùy chỉnh, CWM / TWRP] chạy adb trong khi thiết bị ở chế độ phục hồi, hy vọng phục hồi tùy chỉnh). Hoặc là root, sao chép / dữ liệu sang thư mục khác (sdcard) và kéo nó từ đó.
Đây là những gì làm việc cho tôi: * Hãy chắc chắn rằng bạn đang sử dụng phiên bản ADB mới nhất.
'vỏ tập trung $ adb'
'shell @ m1: / $ su'
Sau đó, bạn sẽ nhận thấy rằng "$" trở thành "#", như vậy:
'root @ m1: / #'
-Bạn băm cho bạn biết bạn đang ở chế độ SU.
'root @ m1: / # mkdir / sdcard / dữ liệu /'
* đi đến thư mục gốc của tệp bạn muốn sao chép - Ví dụ như tôi muốn tạo bản sao lưu / sao chép ứng dụng của mình và lưu trữ trên máy tính của mình để:
'root @ m1: / data / app #'
'root @ m1: / data / app # ls
com.abtnprojects.ambatana-1
com.acr.rootfilemanager-1
com.amazon.kulum-1
com.android.chrome-1
com.android.mms-1
com.android. bán hàng tự động-2 '
'root @ m1: / data / ứng dụng # cp -R * / / sdcard / data /'
Khi bạn nhấn enter, nếu tệp khá lớn, rõ ràng sẽ mất một lúc để sao chép các tệp, vì vậy con trỏ sẽ nhàn rỗi nhấp nháy một chút, nó sẽ trông giống như nếu không làm gì cả, NHƯNG NÓ! nó đang sao chép các tập tin, vì vậy đừng hoảng sợ! và đừng dừng quá trình !!! -Nếu bạn chỉ muốn mở một phiên shell ADB khác và đi đến thư mục nơi bạn đang chuyển các tệp và thực hiện kiểm tra "ls" và bạn sẽ thấy rằng thư mục trống hiện đang được điền vào các tệp. Sau khi chuyển xong, bạn sẽ lấy lại vỏ của mình.
Đi tới "sdcard / dữ liệu" và đảm bảo mọi thứ đã được sao chép "ls":
'root @ m1: / sdcard / data # ls
com.abtnprojects.ambatana-1
com.acr.rootfilemanager-1
com.amazon.kulum-1
com.android.chrome-1
com.android.mms-1'
Đến lúc này nếu bạn chưa tạo thư mục trên máy đích, hãy làm như vậy. Tôi thuận tiện tạo một thư mục gọi là "ứng dụng"
Bây giờ, chúng ta hãy thực hiện ADB PULL đệ quy khó nắm bắt của tất cả các tệp cùng một lúc: -Hãy chắc chắn rằng bạn đã đăng xuất khỏi phiên ADB, vì chúng tôi đang ở chế độ SU, chúng tôi sẽ cần phải thoát hai lần:
'root @ m1: / sdcard / data # exit'
'shell @ m1: / $ exit'
'AtomicusZro $ adb kéo -a / sdcard / dữ liệu / ứng dụng /'
Bạn sẽ thấy một cái gì đó như thế này:
'[69%] /sdcard/data/com.google.android.gms-1/base.apk: 74%'
Khi đã xong:
'/ sdcard / data /: 296 tập tin được kéo. 5,1 MB / s (1193942288 byte trong 221.352 giây) '
Và Voila!
Ghi chú bên:
Không biết có vấn đề gì không nhưng tôi sử dụng máy Mac.
.Nếu trong khi trên phiên ADB bạn không thể có được "đặc quyền su" hoặc là:
1: Bạn có thể cần phải cung cấp cho ADB truy cập root
2: "siêu người dùng" nó không được cài đặt một cách chính xác
.Double kiểm tra lệnh của bạn
Chúc may mắn.-
làm việc trên thiết bị Android 7.1 của tôi. các bước để làm cho nó hoạt động:
bây giờ bạn có thể adb kéo vào máy tính của bạn.
Hi vọng điêu nay co ich
Haris
adb root
trước?