2013-07-24 3 views
7

Non riesco a estrarre il database dal dispositivo anche dopo aver modificato l'autorizzazione. Ho un telefono con le radici. Era abituato a lavorare. Potrei tirare prima. Per qualche motivo sconosciuto ora non posso.Impossibile inserire il database pull anche dopo chmod 777 sul mio dispositivo

L'errore che ricevo è remote object '/data/data/com.thuptencho.transitbus/databases/ttc.db' does not exist

Qualcuno sa perché questo sta accadendo? Ecco cosa ho fatto nella finestra di comando.

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 

risposta

4

L'ho capito. Ho dovuto chmod anche la cartella database e poi il file.

2

Il problema è che è necessaria l'autorizzazione non solo per il file, ma anche per le sue directory padre.

(che il permesso non dovrebbe essere 777 però!)

Piuttosto che cercare di modificare l'autorizzazione, quello che probabilmente vuole fare è far funzionare adb come root, se supportato, (vale a dire, se si dispone di un build ingegneristico, piuttosto che un "rooting" aftermarket di un dispositivo protetto) oppure utilizzare l'accesso root (o l'app stessa o il comando run-stock se si dispone di un apk debug) per copiare il file di interesse da qualche parte accessibile e quindi adb tira la copia.

+0

Soluzione pulita. – naXa

8

io con questi comandi per ottenere i dati dalle cartelle/dati/data, nessun permesso cambiamento richiesto

adb kill-server 
adb root 
0

La mia soluzione preferita era:

Installare adbd app insicuro di Chainfire Dall'interno della adbd app insicuro , selezionare "Abilita insicuro adbd" adb pull /data/data/com.package.name/databases/database.db

Attenzione - adb non sicuro significa adb è in esecuzione come root sul dispositivo.

0
for i in `adb shell ls /data/ -1`;do adb pull /data/$i data; done 
Problemi correlati