/sdcard
/storage/sdcard0
/storage/emulated/0
/storage/emulated/legacy
/mnt/sdcard
/data/media/0
Verschiedene Fragen:
Welche sind auf allen Geräten am konsistentesten (vorhanden)?
Welche haben am ehesten Lese- und Schreibberechtigungen? Ändern die Symlinks dieses Verhalten?
Welcher ist der wahre Speicherort, auf den die restlichen Symlinks zeigen? Ist das auch bei den Geräten unterschiedlich?
Um all das zu beantworten, muss man alle (oder zumindest die meisten) verfügbaren Geräte kennen. Ich kann also nur eine "begründete Vermutung" geben.
Berechtigungen sollten nicht durch Symlinks geändert werden. Und ja, was da ist, variiert je nach Gerät, Android-Version und sogar verwendeten ROMs.
Finden Sie den "echten" mit df
oder mount
an der Eingabeaufforderung (entweder über eine Terminal-App oder mit adb shell
). Beginnend mit ungefähr Android 4.2 sollten einige Ihrer aufgelisteten Standorte ziemlich standardmäßig sein:
/storage/emulated/0
/storage/emulated/legacy
Die anderen können, wie ich geschrieben habe, zwischen Geräten, Android-Versionen und ROMs variieren.
Bezüglich Lese-/Schreibberechtigungen: Alle haben. Die Frage ist nur: für wen? Die durchschnittliche App oder Root? Dies hat sich stark zwischen den Android-Versionen geändert, insbesondere seit Kitkat, und kann wiederum je nach Gerät, Android-Version und ROM unterschiedlich gehandhabt werden. Vor Kitkat brauchte eine App nur die WRITE_EXTERNAL_STORAGE
Erlaubnis. Mit Kitkat war es auf den meisten ROMs auf ein eigenes Verzeichnis in beschränkt Android/data/
, und mit Lollipop änderte sich das wieder.
Als Referenz siehe auch Verwirrt durch die vielen Speicherorte der virtuellen /sdcard/ .
Feuerlord