2010-09-28 7 views
5

Ne elenco fuori i file in '/' da:Perché la cartella 'data' non può essere visualizzata come nell'esploratore di file DDMS?

File directory = new File("/"); 
fill_listview(directory.listFiles()); 

E io ottenere quelle in elenco:

sqlite_stmt_journals 
config 
cache 
sdcard 
d 
etc 
system 
sys 
sbin 
proc 
init.rc 
init.goldfish.rc 
init 
default.prop 
data 
root 
dev 

Ho due domande:

1.Why cann't accedo cartella '/ data' proprio come Eclipse DDMS file explorer?

2.Perché è diverso dal DDMS che mostrano solo:

data 
sdcard 
system 

Grazie!

risposta

12

Su radicata dispositivo si può fare questo per accedere alla cartella/dati:

  1. Apri cmd
  2. Tipo 'adb shell'
  3. su
  4. Premere 'Consenti' sul dispositivo
  5. chmod 777 /data /data/data /data/data/com.application.pacakage
  6. Vai alla vista DDMS in Eclipse

Dopo questo si dovrebbe essere in grado di sfogliare i file sul dispositivo.

+0

scusa ma c'è comunque la possibilità di sfogliare/cartella dati senza accesso root? – dumbfingers

+0

@ ss1271 Non penso. – peceps

+0

questo ti dà accesso alla radice della cartella di dati dell'app, ma per ottenere tutto ciò che è utile devi anche chmod le sottocartelle. chmod -R 777 /data/data/com.application.pacakage – nathanielwolf

7

Principalmente a causa di problemi di sicurezza. Se la cartella/data è visibile a tutti, alcune app dannose possono leggere/temperare/eliminare i dati di alcune altre app che possono peggiorare se alcune app memorizzano dati sensibili come password/numero di carta di credito ecc. Quindi l'intero filesystem è visibile solo tramite la console di debug (o ddms).
Non è possibile accedere ai dati di alcuna app sul dispositivo, a meno che non sia rootato poiché, così facendo, l'integrità del sistema potrebbe essere compromessa e potrebbe portare a comportamenti strani. Il che significa che non puoi accedere ai dati/database memorizzati nella cache dell'app.

+0

Grazie mille! Ora so che è a causa dei controlli di accesso Android. Questo è davvero aiutato. – herbertD

+0

Questa è una buona risposta. –

Problemi correlati