2010-07-15 12 views
14

Ho il mio Nexus One collegato all'USB.Impossibile accedere alla cartella dati nel File Explorer di DDMS utilizzando un Nexus One!

Quando visito l'Esplora file del DDMS, se faccio clic sulla cartella "dati" il poco più vicino al nome "dati" scompare per 2-6 secondi e quindi riappare ma il contenct della cartella "dati" non è mostrato!

Ecco alcune altre informazioni:

  • i dati della cartella dispone di autorizzazioni drwxrwx - x

  • il sistema operativo del PC è Windows XP

  • Eclipse v 3.5.2

    .
  • Android SDK 1.6

+1

Le domande su Stack Overflow si riferiscono generalmente alla programmazione o allo sviluppo di software in qualche modo, nell'ambito definito nella faq. – Pentium10

+3

Se non si dispone dell'accesso root sul telefono, non è possibile accedere alla cartella dati. – Pentium10

+0

prova a chiedere su forceclose.com – Pentium10

risposta

9

Se il daemon adbd è in esecuzione come root, è possibile sfogliare/dati utilizzando strumenti basati su adb come il file explorer DDMS o la shell adb.

Se non lo è, è possibile accedere a pochi file sotto/dati e ai relativi figli direttamente tramite i loro nomi di percorso completi, ma non è possibile navigare (o "cd" su) la maggior parte delle cartelle, inclusi/dati stessi.

"fare il tifo" come un processo non ufficiale significa variare le cose e produce risultati variabili - vale a dire, adbd può o non può essere eseguito come root.

Se ro.secure è impostato su 0 negli script di avvio come /init.rc, adbd verrà eseguito come root, ma potrebbe non essere una buona idea su un dispositivo utente. È impostato su 0 sull'emulatore, ed è per questo che puoi navigare/dati lì.

Infine, si noti che /init.rc di solito è contenuto in un'immagine ramdisk inserita nel kernel - non è possibile modificarlo sul telefono, ma è necessario modificare l'immagine offline, ricollegarla al kernel e li ri-lampeggia. Anche se hai una sorta di 'su' hack funzionante, potresti essere in grado di modificare temporaneamente la proprietà e riavviare adbd.

+4

Coloro che cercano di accedere ai dati di un'applicazione sviluppata su un dispositivo non rootato potrebbero anche voler esaminare il comando run-as sotto la shell adb, che può farvi eseguire un processo shell come id utente del vostro (debug- build) APK, con la directory dei dati dell'applicazione come directory di lavoro. –

+0

grazie per il suggerimento su questo comando (almeno per me) oscuro. È in qualche modo sorprendente che Eclipse non faccia questa magia dietro le copertine dei dispositivi non-root. Sospiro. – jpm

2

Non credo che nessuno capisca davvero questa domanda. Giorgio può utilizzare l'Esplora file di DDMS per esplorare la cartella ./data sul suo telefono. Pentium10 parla della necessità di accedere come root al telefono.

Bene io un Nexus One al dettaglio e uno sviluppatore Nexus. Sono sempre stato in grado di utilizzare DDMS File Explorer per esplorare la cartella ./data sul mio telefono sviluppatore ma non il mio telefono al dettaglio. Quindi io tifo il mio telefono al dettaglio sarebbe d'aiuto. Non l'ho fatto

Quindi la linea di fondo è che c'è qualcosa di diverso nei telefoni per negozi e sviluppatori. Fino a quando non verranno effettuate ulteriori ricerche, non sarà possibile sfogliare la cartella dei dati sul telefono.

Spero che questo aiuti.

6

In questo collegamento (http://denniskubes.com/2012/09/25/read-android-data-folder-without-rooting/) Dennis Kubes mostra un metodo per accedere alla cartella dati dell'applicazione senza accesso root.

Si scopre che esiste una soluzione semplice, il comando run-as.

run-as com.your.package ls -l /data/data/com.your.package 
run-as com.your.package rm /data/data/com.your.package/databases/mydatabase.db 

Ciò consente di eseguire comandi come app. Puoi anche usare run-as in modalità interattiva.

run-as com.your.package 
[email protected]:/data/data/com.your.package $ ls 
cache 
databases 
lib 
shared_prefs 
rm databases/mydatabase.db 

La modalità interattiva consente di accedere alla cartella dati della tua app. Puoi navigare da lì.

+0

bash: run-as: comando non trovato –

+0

@Leo do 'adb shell' all'inizio – Evgeniy

Problemi correlati