Risposte:
adb shell echo $EXTERNAL_STORAGE
. Tutto il merito va a Flow per avermi portato a sperimentare e trovare questo.
Naturalmente puoi usare cd $EXTERNAL_STORAGE
o qualsiasi altra cosa tu possa aver bisogno durante una sessione della shell adb o da un emulatore di terminale.
/mnt/sdcard/external_sd/
.
Non penso che sia possibile. Vedi il post di Matthew
Ma facciamo un blocco su come Environment.getExternalStorageDirectory()
restituisce la directory di archiviazione esterna. Una rapida occhiata android/os/Environment.java
mostra che tutto questo metodo fa, restituendo un membro File con costante statica chiamato EXTERNAL_STORAGE_DIRECTORY
. Questa costante è inizializzata da
private static final File EXTERNAL_STORAGE_DIRECTORY
= getDirectory("EXTERNAL_STORAGE", "/sdcard");
che chiama getDirectory()
static File getDirectory(String variableName, String defaultPath) {
String path = System.getenv(variableName);
return path == null ? new File(defaultPath) : new File(path);
}
Quindi la directory di archiviazione esterna non è altro che una variabile di ambiente di sistema java (o un valore predefinito predefinito). Potresti provare a seguire ulteriormente questa traccia. Forse la directory di archiviazione esterna è solo un percorso codificato in alcuni file di configurazione sul filesystem. O forse c'è un modo per leggere queste variabili d'ambiente tramite adb
quello che non conosco.