2013-07-24 33 views
7

Tôi không thể kéo cơ sở dữ liệu từ thiết bị ngay cả sau khi thay đổi quyền. Tôi có một điện thoại bắt nguồn từ. Nó được sử dụng để làm việc. Tôi có thể kéo trước. Đối với một số lý do không rõ bây giờ tôi không thể.Không thể adb kéo cơ sở dữ liệu ngay cả sau khi chmod 777 trên thiết bị của tôi

Các lỗi tôi nhận được remote object '/data/data/com.thuptencho.transitbus/databases/ttc.db' does not exist

Có ai biết tại sao điều này xảy ra? Dưới đây là những gì tôi đã làm trong cửa sổ lệnh.

C:\users\thupten>adb shell 
[email protected]:/ $ su 
su 
[email protected]:/ # cd /data/data/com.thuptencho.transitbus/databases/ 
cd /data/data/com.thuptencho.transitbus/databases/ 
[email protected]:/data/data/com.thuptencho.transitbus/databases # ls 
ls 
ttc.db 
ttc.db-journal 
webview.db 
webview.db-journal 
webviewCookiesChromium.db 
webviewCookiesChromiumPrivate.db 
[email protected]:/data/data/com.thuptencho.transitbus/databases # chmod 755 ttc.db 
5 ttc.db                  < 
[email protected]:/data/data/com.thuptencho.transitbus/databases # chmod 777 ttc.db 
7 ttc.db                  < 
[email protected]:/data/data/com.thuptencho.transitbus/databases # exit 
exit 
[email protected]:/ $ exit 
exit 

C:\users\thupten>adb pull /data/data/com.thuptencho.transitbus/databases/ttc.db 
remote object '/data/data/com.thuptencho.transitbus/databases/ttc.db' does not exist 

Trả lời

4

Tôi đã tìm ra. Tôi đã phải chmod thư mục cơ sở dữ liệu cũng như sau đó tập tin.

2

Vấn đề là bạn cần sự cho phép không chỉ với tệp, mà còn cho các thư mục mẹ của nó.

(phép Đó không phải là 777 mặc dù!)

Thay vì cố gắng thay đổi sự cho phép, những gì bạn có thể muốn làm là có được adb chạy như là người chủ nếu được hỗ trợ, (ví dụ, nếu bạn có một kỹ thuật xây dựng, chứ không phải là hậu mãi "root" của thiết bị được bảo mật) hoặc sử dụng quyền truy cập gốc của bạn (hoặc bản thân ứng dụng hoặc lệnh chạy theo lệnh nếu bạn có apk gỡ lỗi) để sao chép tệp quan tâm sau đó adb kéo bản sao.

+0

Giải pháp làm sạch. – naXa

8

tôi sử dụng các lệnh này để lấy dữ liệu từ thư mục/data/data, không thay đổi sự cho phép cần

adb kill-server 
adb root 
0

giải pháp ưa thích của tôi là:

Install adbd không an toàn ứng dụng Chainfire của Từ bên trong ứng dụng không an toàn adbd , chọn "Bật quảng cáo không an toàn" adb pull /data/data/com.package.name/databases/database.db

Thận trọng - adb không an toàn nghĩa là adb đang chạy dưới dạng gốc trên thiết bị của bạn.

0
for i in `adb shell ls /data/ -1`;do adb pull /data/$i data; done 
Các vấn đề liên quan