¿Hay alguna forma en que pueda usar ADB para determinar el directorio de almacenamiento externo (equivalente a la llamada a la API de Android Environment.getExternalStorageDirectory()
)?
adb shell echo $EXTERNAL_STORAGE
. Todo el crédito va para 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.
No creo que esto sea posible. Ver la publicación de Mateo
Pero analicemos cómo Environment.getExternalStorageDirectory()
devuelve el directorio de almacenamiento externo. Una mirada rápida android/os/Environment.java
muestra que todo lo que hace este método es devolver 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 llamagetDirectory()
static File getDirectory(String variableName, String defaultPath) {
String path = System.getenv(variableName);
return path == null ? new File(defaultPath) : new File(path);
}
Entonces, el directorio de almacenamiento externo no es más que una variable de entorno del sistema Java (o un valor predeterminado predefinido). Podrías intentar seguir más este rastro. Tal vez el directorio de almacenamiento externo sea solo una ruta codificada en algún archivo de configuración en el sistema de archivos. O tal vez haya una manera de leer estas variables de entorno a través de adb
eso, no lo sé.
Flujo
notlesh
notlesh
mateo leer
/mnt/sdcard/external_sd/
.