2013-07-24 4 views
7

Nie mogę pobrać bazy danych z urządzenia nawet po zmianie uprawnienia. Mam zrootowany telefon. Kiedyś pracował. Mogłem wcześniej wyciągnąć. Z jakiegoś nieznanego powodu teraz nie mogę.Nie można pobrać bazy danych, nawet jeśli chmod 777 na moim urządzeniu

Błąd zgłaszany jest remote object '/data/data/com.thuptencho.transitbus/databases/ttc.db' does not exist

Czy ktoś wie dlaczego tak się dzieje? Poniżej jest to, co zrobiłem w oknie poleceń.

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 

Odpowiedz

4

Wymyśliłem to. Musiałem również skopiować folder z bazami danych, a następnie plik.

2

Problem polega na tym, że potrzebujesz uprawnień nie tylko do pliku, ale także do jego katalogów nadrzędnych.

(To uprawnienie nie powinno być 777 chociaż!)

Zamiast próbować zmienić uprawnienia, co prawdopodobnie chcesz zrobić, to adb uruchomiony jako root, jeśli jest obsługiwany, (to znaczy, jeśli masz inżynierię, a nie posprzedażowe "rootowanie" zabezpieczonego urządzenia) lub użyj dostępu do roota (lub samej aplikacji lub polecenia stock-as, jeśli masz apk do debugowania), aby skopiować plik zainteresowania gdzieś dostępny i następnie adb wyciągnij kopię.

+0

Czysty roztwór. – naXa

8

ja za pomocą tych poleceń, aby uzyskać dane z folderów/data/data, nie wymaga zmiana zezwolenia

adb kill-server 
adb root 
0

Moje preferowanym rozwiązaniem było:

zainstalować Chainfire za adbd niezabezpieczoną aplikację Od wewnątrz adbd niepewnego aplikacji , wybierz "Włącz niezabezpieczone adbd". adb pull /data/data/com.package.name/databases/database.db

Przestroga - niebezpieczna adb oznacza, że ​​adb działa jako root na twoim urządzeniu.

0
for i in `adb shell ls /data/ -1`;do adb pull /data/$i data; done 
Powiązane problemy