Odpowiedzi:
adb shell echo $EXTERNAL_STORAGE
. Wszystkie podziękowania należą się Flowowi za zachęcenie mnie do eksperymentowania i znalezienia tego.
Oczywiście możesz użyć cd $EXTERNAL_STORAGE
dowolnego innego narzędzia podczas sesji powłoki adb lub z emulatora terminala.
/mnt/sdcard/external_sd/
.
Nie sądzę, że to jest możliwe. Zobacz Matthew's Post
Ale zastanówmy się, w jaki sposób Environment.getExternalStorageDirectory()
zwraca katalog pamięci zewnętrznej. Szybkie spojrzenie android/os/Environment.java
pokazuje, że wszystkie te metody zwracają stałą statyczną o nazwie Członek pliku EXTERNAL_STORAGE_DIRECTORY
. Ta stała jest inicjowana przez
private static final File EXTERNAL_STORAGE_DIRECTORY
= getDirectory("EXTERNAL_STORAGE", "/sdcard");
który wzywa getDirectory()
static File getDirectory(String variableName, String defaultPath) {
String path = System.getenv(variableName);
return path == null ? new File(defaultPath) : new File(path);
}
Zewnętrzny katalog pamięci to nic innego jak zmienna środowiskowa java System (lub predefiniowana wartość domyślna). Możesz spróbować śledzić ten ślad dalej. Być może zewnętrzny katalog pamięci jest po prostu zakodowaną ścieżką w pliku konfiguracyjnym systemu plików. A może istnieje sposób na odczyt tych zmiennych środowiskowych za pomocą adb
tego, czego nie znam.