Potresti elencare tutte le possibili directory in cui le app Android possono archiviare i dati, fornendo una descrizione del tipo di dati memorizzati in ciascuna directory?
Potresti elencare tutte le possibili directory in cui le app Android possono archiviare i dati, fornendo una descrizione del tipo di dati memorizzati in ciascuna directory?
Risposte:
Tutte le app (root o no) hanno una directory di dati predefinita, che è /data/data/<package_name>
. Per impostazione predefinita, i database delle app, le impostazioni e tutti gli altri dati vanno qui. Se un'app si aspetta che vengano archiviate enormi quantità di dati o che per altri motivi voglia "essere gentile con la memoria interna", c'è una directory corrispondente sulla SDCard ( Android/data/<package_name>
).
A parte questo, tutte le app possono archiviare dati ovunque sulla SDCard, poiché non ci sono restrizioni e molte app lo fanno. Possono usare liberamente i nomi delle directory (e lo fanno ancora), il che è ciò che spesso rende difficile decidere a cosa è destinato tutto quel "junk" sulla scheda e che cosa può essere eliminato.
Sebbene, come sottolineato da Tom , le app di root possano archiviare i loro dati quasi ovunque sul tuo dispositivo, di solito seguono le stesse regole di altre app.
Puoi trovare una spiegazione generale della gerarchia di directory Android nella mia risposta qui . Per la tua domanda specifica potrei aggiungere qualche dettaglio in più /data/data/<package_name>
(e la corrispondente parte SD):
databases/
: qui vai ai database dell'applib/
: librerie e helper per l'appfiles/
: altri file correlatishared_prefs/
: preferenze e impostazionicache/
: bene, cachePotrebbero esserci molte più directory in questo posto o meno - tutto dipende dall'app. Nella sua "home directory" (ed è quello che è fondamentalmente, parlato in Linux) possono posizionare i file dove vogliono. Di solito, questi file e directory sono accessibili solo dall'app stessa (e ovviamente dal root) - diversi da quelli memorizzati sulla SDCard, che sono accessibili da tutte le app.
/data/data/<name>/files/
in cui i file creati come descritto in developer.android.com/guide/topics/data/... sarebbe andato? Cioè quelli aperti con FileOutputStream fos = openFileOutput(FILENAME, Context.MODE_PRIVATE);
?
/storage/emulated/0/WhatsApp/
(sottodirectory .Shared
, .trash
, Backups
, Databases
, Media
), compresi tutti i media. Non so se questo sia in aggiunta a \data\data...
, non posso accedere a questa directory ora. Forse questo è cambiato tra le versioni.
/
) non si trova sulla scheda SD. Scheda SD significa di seguito /sdcard
(scheda interna, punti a /storage/emulated/<user>
) o il percorso corrispondente della scheda esterna. E no, non posso spiegare tutte le possibili posizioni che alcune app potrebbero usare, mi dispiace; AFAIK /data/misc
è gestito dal sistema Android stesso, quindi le "semplici app" dovrebbero al massimo avere accesso in lettura lì. Mai incontrato data/user_de
(dato che è un percorso relativo, non so dove intendi comunque).
La risposta alla tua domanda che stai ponendo è troppo grande. Posso, tuttavia, darti una risposta di base che copre le basi.
Esistono due tipi di app:
root e non root .
Le app di root possono sostanzialmente archiviare / modificare i file dove vogliono.
Le app non root possono solo archiviare / modificare i file qui: /sdcard/
e ogni cartella che segue.
Principalmente, le app installate si archiviano in /sdcard/Android/data
o /sdcard/Android/obb
.
Alcune app memorizzano i loro file di salvataggio dei giochi / file di configurazione /sdcard/APPNAME/
o semplicemente nella /sdcard/
Per poter utilizzare le app di root , devi aver effettuato il root del tuo dispositivo Android e aver ottenuto l'autorizzazione da una delle app del superutente.