Ответы:
adb shell echo $EXTERNAL_STORAGE
, Все заслуги передаются Потоку за то, что он заставил меня поэкспериментировать и найти это.
Естественно, вы можете использовать cd $EXTERNAL_STORAGE
все, что вам может понадобиться во время сеанса оболочки adb или из эмулятора терминала.
/mnt/sdcard/external_sd/
.
Я не думаю, что это возможно. Посмотреть сообщение Мэтью
Но давайте заблокируем, как Environment.getExternalStorageDirectory()
возвращает каталог внешнего хранилища. Быстрый просмотр android/os/Environment.java
показывает, что все, что делает этот метод, возвращает статическую константу, вызываемую членом File 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
которые я не знаю.