Antworten:
adb shell echo $EXTERNAL_STORAGE
. Alle Ehre gebührt Flow, der mich dazu gebracht hat, zu experimentieren und dies zu finden.
Natürlich können Sie cd $EXTERNAL_STORAGE
oder was auch immer Sie sonst noch während einer ADB-Shell-Sitzung oder von einem Terminal-Emulator aus verwenden.
/mnt/sdcard/external_sd/
.
Ich denke nicht, dass dies möglich ist. Siehe Matthews Post
Lassen Sie uns jedoch festlegen, wie Environment.getExternalStorageDirectory()
das externe Speicherverzeichnis zurückgegeben wird. Ein kurzer Blick in android/os/Environment.java
zeigt, dass diese Methode nur ein statisches konstantes Dateimitglied namens zurückgibt EXTERNAL_STORAGE_DIRECTORY
. Diese Konstante wird durch initialisiert
private static final File EXTERNAL_STORAGE_DIRECTORY
= getDirectory("EXTERNAL_STORAGE", "/sdcard");
was anruft getDirectory()
static File getDirectory(String variableName, String defaultPath) {
String path = System.getenv(variableName);
return path == null ? new File(defaultPath) : new File(path);
}
Das externe Speicherverzeichnis ist also nichts anderes als eine Java-System-Umgebungsvariable (oder eine vordefinierte Standardeinstellung). Sie könnten versuchen, dieser Spur weiter zu folgen. Möglicherweise ist das externe Speicherverzeichnis nur ein fest codierter Pfad in einer Konfigurationsdatei im Dateisystem. Oder vielleicht gibt es eine Möglichkeit, diese Umgebungsvariablen auszulesen, adb
die ich nicht kenne.