Відповіді:
adb shell echo $EXTERNAL_STORAGE
. Вся заслуга припадає на Flow за те, що я вела мене експериментувати і знаходити це.
Звичайно, ви можете використовувати cd $EXTERNAL_STORAGE
або будь-що інше, що може знадобитися під час сеансу оболонки adb або від емулятора терміналу.
/mnt/sdcard/external_sd/
.
Я не думаю, що це можливо. Дивіться допис Метью
Але давайте заблокуємо, як Environment.getExternalStorageDirectory()
повертає зовнішній каталог зберігання. Швидкий огляд android/os/Environment.java
показує, що всім цим методом є повернення статичної константи, що називається членом Файлу EXTERNAL_STORAGE_DIRECTORY
. Ця константа ініціалізується
private static final File EXTERNAL_STORAGE_DIRECTORY
= getDirectory("EXTERNAL_STORAGE", "/sdcard");
який дзвонить getDirectory()
static File getDirectory(String variableName, String defaultPath) {
String path = System.getenv(variableName);
return path == null ? new File(defaultPath) : new File(path);
}
Отже, зовнішній каталог зберігання - це не що інше, як змінна середовище java System (або заздалегідь визначений за замовчуванням). Ви можете спробувати йти за цим слідом далі. Можливо, зовнішній каталог зберігання - це лише важко закодований шлях у деякому файлі конфігурації файлової системи. Або, можливо, є спосіб прочитати ці змінні середовища через adb
те, що я не знаю.