Respuestas:
adb shell echo $EXTERNAL_STORAGE
. Todo el crédito va a Flow por llevarme a experimentar y encontrar esto.
Naturalmente, puede usar cd $EXTERNAL_STORAGE
o cualquier otra cosa que pueda necesitar durante una sesión de adb shell o desde un emulador de terminal.
/mnt/sdcard/external_sd/
.
No creo que esto sea posible. Ver la publicación de Matthew
Pero tengamos un bloqueo sobre cómo Environment.getExternalStorageDirectory()
devuelve el directorio de almacenamiento externo. Un vistazo rápido android/os/Environment.java
muestra que todo este método lo hace, está devolviendo un miembro de archivo constante estático llamado EXTERNAL_STORAGE_DIRECTORY
. Esta constante es inicializada por
private static final File EXTERNAL_STORAGE_DIRECTORY
= getDirectory("EXTERNAL_STORAGE", "/sdcard");
que llama getDirectory()
static File getDirectory(String variableName, String defaultPath) {
String path = System.getenv(variableName);
return path == null ? new File(defaultPath) : new File(path);
}
Por lo tanto, el directorio de almacenamiento externo no es más que una variable de entorno del Sistema Java (o un valor predeterminado predefinido). Podría intentar seguir este rastro más lejos. Tal vez el directorio de almacenamiento externo es solo una ruta codificada en algún archivo de configuración del sistema de archivos. O tal vez hay una manera de leer estas variables de entorno a través de adb
eso que no sé.