Mit Android 6.0 Marshmallow hat Google „Adoptable Storage“ eingeführt, mit der sich eine SD-Karte als „interner Speicher“ verwenden lassen kann. Doch wie genau funktioniert das? Und was tun, wenn nach der Migration der interne Speicher nicht freigegeben wird?
Wird in einem Dateimanager die „SD-Karte“ aufgerufen, so wird der Pfad „/storage/emulated/0/“ angesteuert. Dieser ist in Wahrheit aber nur ein symbolischer Link auf einen anderen Ordner.
Wenn keine SD-Karte eingelegt ist, eine eingelegte SD als „portabel“ formatiert ist oder die SD als „intern“ formatiert ist, aber die Daten NICHT migriert wurden, zeigt der Ordner auf: „/data/media/0/„. Die SD-Karte wird dann unter „/storage/“ eingehängt und heißt bspw. „2617-1E01“ o.ä.
Wenn eine SD-Karte eingelegt, als „intern“ formatiert ist UND die Daten migriert wurden, zeigt der Ordner auf „/mnt/expand/<UUID>/media/0/„.
Bei einer Migration werden die Daten also von „/data/media/0/“ nach „/mnt/expand/<UUID>/0/“ verschoben. Es kann sein, dass die Daten zwar kopiert, aber nicht gelöscht werden – hier können einfach per Dateimanager oder Terminal die Inhalte von „/data/media/0/“ per Hand gelöscht werden. Am besten vorher eine Testdatei in „/storage/emulated/0/“ erstellen und nachsehen, ob diese auch in „/mnt/expand/<UUID>/media/0/“ existiert und nicht in „/data/media/0/“ – dann weiß man ganz genau, dass alle Daten auf die SD-Karte migriert wurden.