Как я могу определить путь SD-карты?

11

Я на Thinkpad с Android 4.0.2 пытаюсь открыть файл HTML на SD-карте, используя браузер по умолчанию. Ответы здесь показали , вы должны получить доступ file:///mnt/sdcard, file:///mnt/sdcard-ext, file:///sdcard, и многие другие комбинации, но ни один из них не работает для меня: я просто получить «Веб - страница не доступна».

Видимо разные машины монтируют SD-карту по другому пути. Как я могу узнать, по какому пути подключена моя SD-карта? Или, если это не проблема, то что?

Джек М
источник
Из любопытства и частично из-за некоторых вещей, которые вы упомянули в других комментариях, что находится в HTML-файлах, которые вы упоминаете? Вы использовали термин «html-приложения» в комментарии, и мне интересно, что вы имели в виду под этим.
dotVezz

Ответы:

6

adb shell 'echo ${SECONDARY_STORAGE%%:*}'


источник
1
Вы также можете просто сделать echo $EXTERNAL_STORAGEв эмуляторе терминала. Но это дает мне путь к внутренней «SD-карте» ( /storage/sdcard0) на моем Galaxy S3, а не к физической SD-карте (для которой этот путь /storage/extSdCard)
Compro01
о чем echo $SECONDARY_STORAGE?
echo $SECONDARY_STORAGEдает мне /storage/extSdCard:/storage/UsbDriveA:/storage/UsbDriveB:/storage/UsbDriveC:/storage/UsbDriveD:/storage/UsbDriveE:/storage/UsbDriveF, поэтому мы получаем внешнюю SD-карту, а также кучу других вещей. Не уверен, что эти точки монтирования существовали до того, как я использовал USB-накопитель для этой вещи или нет.
Compro01
echo ${SECONDARY_STORAGE%%:*}
@AlexP. это будет работать на всех устройствах Android? Можно ли получить только текущие, которые смонтированы?
Android-разработчик
1

На большинстве устройств SDCard либо смонтирована, либо, по крайней мере, связана с ней /mnt/sdcardили /sdcard. Однако, когда устройство оснащено как внутренней, так и внешней SDCard, последняя обычно находится «внутри» первой, например, в /sdcard/external_sd. Альтернативно, это может быть установлено в /mnt/extSdCardили /storage/extSdCard. Обратите внимание на столицы. Имена файлов Android чувствительны к регистру.

Для пользователя самый простой способ выяснить, где он находится (или, в вашем случае, а точнее, где находится ваш «файл»), использует файловый менеджер, который позволяет вам просматривать не только SDCard, но и всю систему. , Я, например, использую ES File Explorer : если я запускаю приложение, оно автоматически помещает меня на мою SD-карту (я не настраивал его таким образом, поэтому я предполагаю, что оно всегда работает). Путь отображается в верхней части экрана, поэтому вы сразу увидите его. Если он слишком длинный, чтобы отображаться там (даже если вы переключаетесь в альбомную ориентацию), вы все равно можете «перемещаться вверх» до тех пор, пока не увидите только /там, и отметить все шаги - так что вы получите полный путь.

Иззи
источник
Интересно. Интересно, что делает ES File Explorer, чтобы найти точку монтирования sdcard.
dotVezz
Любой способ без файлового менеджера? Причина, по которой мне нужно это сделать, заключается в том, что у меня нет беспроводного Интернета, и я хочу получить доступ к приложениям на основе HTML с SD-карты. Без беспроводного интернета я не могу скачать файловый менеджер.
Джек М
Поскольку ни один из этих URL-адресов не работает, есть ли другие причины, по которым я не смогу получить доступ к SD-карте?
Джек М
@dotVezz они используют специальный системный вызов, который возвращает каталог, в который монтируется внешнее хранилище. Джек: вы могли бы использовать эмулятор терминала (и команды оболочки, такие как cdи ls), но я полагаю, что и у вас их нет. Если у вас есть компьютер, подключенный через USB, вы также можете использовать adb shellэту же процедуру. Кроме того, у меня сейчас нет идей.
Иззи
Просмотр редактирования Compro01: Какая у вас версия для Android? Где-то на пути к 4.2, появилось еще несколько путей, вроде /storage/sdcard0/.
Иззи
0

Всего шесть лет спустя ...

Я использую приложение sshelper для Android ( https://play.google.com/store/apps/details?id=com.arachnoid.sshelper ) на устройстве Android. Он действует как смартфон SSH на смартфоне и позволяет мне войти через ssh.

Это позволило мне покопаться и найти мою SD-карту: - автоматически отправляемая на SDCard где-то файловая система linux - обнаружение, что этот каталог указывает на / storage / emulated / 0 с помощью ls -lha - выяснение того, что это внутреннее хранилище, просмотр содержимого - обнаружение, что / storage / содержит странный каталог, такой как «5674-9865», который был записью на моей SD-карте.

горизонт событий
источник