¿Cómo puedo determinar la ruta de la tarjeta SD?

11

Estoy en un Thinkpad con Android 4.0.2 tratando de abrir un archivo HTML en una tarjeta SD, usando el navegador predeterminado. Respuestas aquí han indicado que debe acceder file:///mnt/sdcard, file:///mnt/sdcard-ext, file:///sdcard, y muchas otras combinaciones, pero ninguno de ellos trabajan para mí: apenas consigo "página web no está disponible".

Aparentemente, diferentes máquinas montan la tarjeta SD en una ruta diferente. ¿Cómo puedo saber en qué ruta está montada mi tarjeta SD? O si ese no es el problema, ¿cuál es?

Jack M
fuente
Por curiosidad, y en parte debido a algunas cosas que mencionaste en otros comentarios, ¿qué hay en los archivos HTML que mencionas? Usaste el término "aplicaciones basadas en html" en un comentario, y me pregunto qué quieres decir con eso.
dotVezz

Respuestas:

6

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


fuente
1
También puedes hacerlo echo $EXTERNAL_STORAGEen un emulador de terminal. Pero esto me da el camino a la "tarjeta SD" interna ( /storage/sdcard0) en mi Galaxy S3 en lugar de a la tarjeta SD física (para la cual es el camino /storage/extSdCard)
Compro01
¿qué pasa echo $SECONDARY_STORAGE?
echo $SECONDARY_STORAGEme da /storage/extSdCard:/storage/UsbDriveA:/storage/UsbDriveB:/storage/UsbDriveC:/storage/UsbDriveD:/storage/UsbDriveE:/storage/UsbDriveF, así que obtenemos la tarjeta SD externa, así como un montón de otras cosas. No estoy seguro de si esos puntos de montaje existían antes de usar una unidad USB en esta cosa o no.
Compro01
echo ${SECONDARY_STORAGE%%:*}
@AlexP. ¿Funcionará en todos los dispositivos Android? ¿Es posible obtener solo los actuales que están montados?
Desarrollador de Android
1

En la mayoría de los dispositivos, la tarjeta SD está montada o al menos vinculada a uno /mnt/sdcardo /sdcard. Sin embargo, cuando el dispositivo presenta ambas, una tarjeta SD interna y externa, esta última generalmente se encuentra "dentro" de la primera, por ejemplo, en /sdcard/external_sd. Alternativamente, se puede montar en /mnt/extSdCardo /storage/extSdCard. Tenga en cuenta las capitales. Los nombres de archivo de Android distinguen entre mayúsculas y minúsculas.

Para un usuario, la forma más fácil de averiguar dónde está (o en su caso, en lugar de dónde se encuentra su '' archivo ''), es usar un administrador de archivos que le permite no solo explorar su tarjeta SD, sino todo el sistema . Por ejemplo, uso ES File Explorer : si inicio la aplicación, automáticamente me coloca en mi tarjeta sd (no la configuré así, así que supongo que es como siempre funciona). La ruta se muestra en la parte superior de la pantalla, por lo que la vería de inmediato. Si es demasiado largo para mostrarse allí (incluso si cambia a horizontal), aún puede "navegar hacia arriba" hasta que solo vea /allí, y tenga en cuenta todos los pasos, por lo que terminaría con la ruta completa.

Izzy
fuente
Interesante. Me pregunto qué hace ES File Explorer para encontrar el punto de montaje de la tarjeta SD.
dotVezz
¿De alguna manera sin un administrador de archivos? La razón por la que necesito hacer esto es porque no tengo Internet inalámbrico y quiero acceder a aplicaciones basadas en HTML desde la tarjeta SD. Sin internet inalámbrico no puedo descargar un administrador de archivos.
Jack M
Dado que ninguna de estas URL funciona, ¿hay alguna otra razón por la que no pueda acceder a la tarjeta SD?
Jack M
@dotVezz utilizan una llamada especial del sistema que devuelve el directorio donde está montado el almacenamiento externo. Jack: podrías usar un emulador de terminal (y comandos de shell como cdy ls), pero supongo que tampoco tienes ninguno instalado. Si tiene una computadora conectada a través de USB, también podría usarla adb shellpara el mismo procedimiento. Aparte de eso, actualmente no tengo ideas.
Izzy
Ver la edición de Compro01: ¿Cuál es tu versión de Android? En algún lugar en el camino hacia 4.2, se introdujeron algunos más, como /storage/sdcard0/.
Izzy
0

Solo seis años después ...

Estoy usando la aplicación de Android sshelper ( https://play.google.com/store/apps/details?id=com.arachnoid.sshelper ) en el dispositivo Android. Actúa como un servidor SSH en el teléfono inteligente y me permite iniciar sesión a través de ssh.

Esto me permitió buscar y encontrar mi tarjeta SD: - enviando automáticamente a SDCard en algún lugar un sistema de archivos de Linux - descubriendo que este directorio apunta a / storage / emulated / 0 usando ls -lha - descubriendo que este es el almacenamiento interno navegando por el contenido - descubriendo que / storage / contiene un directorio extraño como "5674-9865" que era la entrada a mi tarjeta SD.

eventhorizon
fuente