/sdcard
/storage/sdcard0
/storage/emulated/0
/storage/emulated/legacy
/mnt/sdcard
/data/media/0
Varias preguntas:
¿Cuáles son más consistentes (presentes) en todos los dispositivos?
¿Cuáles tienen más probabilidades de tener permisos de lectura y escritura? ¿Los enlaces simbólicos alteran este comportamiento?
¿Cuál es la verdadera ubicación de almacenamiento, hacia donde apunta el resto de los enlaces simbólicos? ¿Esto también varía entre dispositivos?
Para responder a todo eso, uno necesita conocer todos (o al menos la mayoría) de los dispositivos disponibles. Entonces, todo lo que puedo dar es una "suposición educada".
Los permisos no deben ser alterados por enlaces simbólicos. Y sí, lo que hay varía según los dispositivos, las versiones de Android e incluso las ROM utilizadas.
Encuentre el "real" usando df
o mount
en el símbolo del sistema (ya sea a través de una aplicación de terminal o usando adb shell
). A partir de alrededor de Android 4.2, algunas de las ubicaciones enumeradas deberían ser bastante estándar:
/storage/emulated/0
/storage/emulated/legacy
Los demás, como escribí, pueden variar entre dispositivos, versiones de Android y ROM.
En cuanto a los permisos de lectura/escritura: Todos ellos tienen. La pregunta es simplemente: ¿para quién? ¿La aplicación promedio o root? Esto cambió mucho entre las versiones de Android, especialmente desde Kitkat, y nuevamente podría manejarse de manera diferente según el dispositivo, la versión de Android y la ROM. Antes de Kitkat, una aplicación solo necesitaba el WRITE_EXTERNAL_STORAGE
permiso. Con Kitkat, en la mayoría de las ROM estaba restringida a su propio directorio en Android/data/
, y con Lollipop eso volvió a cambiar.
Para obtener una referencia, consulte también Confundido por las muchas ubicaciones de la /sdcard/ virtual .
Señor del Fuego