Réponses:
adb shell echo $EXTERNAL_STORAGE
. Tout le mérite revient à Flow pour m'avoir conduit à expérimenter et à trouver cela.
Naturellement, vous pouvez utiliser cd $EXTERNAL_STORAGE
ou tout ce dont vous pourriez avoir besoin pendant une session shell adb ou à partir d'un émulateur de terminal.
/mnt/sdcard/external_sd/
.
Je ne pense pas que cela soit possible. Voir le message de Matthew
Mais verrouillons la façon dont Environment.getExternalStorageDirectory()
retourne le répertoire de stockage externe. Un rapide coup d'œil android/os/Environment.java
montre que toute cette méthode renvoie un membre de fichier constant statique appelé EXTERNAL_STORAGE_DIRECTORY
. Cette constante est initialisée par
private static final File EXTERNAL_STORAGE_DIRECTORY
= getDirectory("EXTERNAL_STORAGE", "/sdcard");
qui appelle getDirectory()
static File getDirectory(String variableName, String defaultPath) {
String path = System.getenv(variableName);
return path == null ? new File(defaultPath) : new File(path);
}
Le répertoire de stockage externe n'est donc rien d'autre qu'une variable d'environnement du système Java (ou une valeur par défaut prédéfinie). Vous pouvez essayer de suivre cette trace plus loin. Peut-être que le répertoire de stockage externe n'est qu'un chemin codé en dur dans un fichier de configuration du système de fichiers. Ou peut-être qu'il existe un moyen de lire ces variables d'environnement via adb
que je ne connais pas.