Как я могу определить путь 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-карте.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.