Ich habe einen Symlink von /storage/sdcard1/somefolder
bis erstellt /data/media/0/somefolder
, aber Apps behandeln den Symlink als Datei und nicht als Ordner (und stürzen ab, weil sie fest codiert sind, um nach Dateien in einem Ordner unter diesem Pfad zu suchen).
Root-Apps, die von Works aus auf den Symlink zugreifen /data/media/0/somefolder
und ihn als Ordner behandeln, Nicht-Root-Apps verwenden /storage/emulated/0/somefolder
stattdessen den verschmolzenen Einhängepunkt at, da sie nicht die Berechtigung haben, hineinzuschauen /data/media
.
Es ist nicht möglich, direkt auf den verschmolzenen Punkt zu verlinken (Geräteübergreifender Linkfehler). Die Punktberechtigung von Symlink für den verschmolzenen Punkt gilt 770
für a app_ID:1028
statt 777
für root:root
wie bei from /data/media
. Es ist nicht möglich, Berechtigungen mit root am verschmolzenen Punkt zu ändern. /storage/sdcard1/somefolder
ist 777
.
Der Debuggerd-Exploit ist so lange wie möglich zu vermeiden und Einhängepunkte werden nicht systemweit sichtbar sein.
Was muss geändert werden, damit der Symlink vom verschmolzenen Punkt aus funktioniert? Wie wirkt es sich auf den Rest des Systems aus?
Android bewacht Einhängepunkte seit dem Erscheinen von Android 4.2. Sie haben den debuggerd-Hack bereits erwähnt, also nehme ich an, dass Sie über diese Einschränkung Bescheid wissen.
Dies mag offensichtlich erscheinen, aber Sie sollten zuerst überprüfen, ob das Dateisystem, das auf dem emulierten externen Speicher und auf dem echten externen Speicher verwendet wird, beide Symlinks unterstützen. Wenn Ihre SD-Karte als FAT32 formatiert ist, was keine Symlinks unterstützt, passiert nichts und Sie müssen den externen Speicher auf etwas wie ext2/3/4 oder yaffs formatieren.
Der Fehler „geräteübergreifende Verknüpfung“ kann behoben werden, indem ln -s /data/media/0/somefolder /storage/sdcard1/somefolder
anstelle von ln /data/media/0/somefolder /storage/sdcard1/somefolder
. Dadurch wird anstelle eines festen Links ein symbolischer Link erstellt, sodass er sich über Dateisysteme und Speichergeräte erstrecken kann. Das musst du als root machen, sonst funktioniert es nicht.
Wenn Berechtigungen ein Problem darstellen, müssen Sie möglicherweise das „Problem mit der externen SD-Karte“ beheben. Dieses Problem führt dazu, dass die echte externe SD-Karte in Versionen von Kitkat schreibgeschützt ist. Die Details finden Sie auf dieser Seite . Es kommt auf die Bearbeitung an /system/etc/permissions/platform.xml
, damit Apps mit der WRITE_EXTERNAL_STORAGE
Berechtigung auch auf den "echten" externen Speicher schreiben können. Dies kann durch die Installation dieser App oder durch die folgenden Schritte erfolgen:
Starten Sie Ihren bevorzugten Dateimanager mit aktivierten Root-Zugriffsrechten. Sie können jede beliebige App verwenden, die auf Ihrem Gerät ausgeführt werden kann. Zum Beispiel die 'Root Explorer'-App oder 'Total Commander' oder 'File Manager' von CyanogenMod.
Navigieren Sie zu folgender Datei:
/system/etc/permissions/platform.xml
- Suchen Sie die Zeilen android.permission.WRITE_EXTERNAL_STORAGE und android.permission.WRITE_MEDIA_STORAGE. Dies sind XML-Abschnitte. Sie müssen sie genau wie die folgenden Zeichenfolgen aussehen lassen:
<permission name="android.permission.WRITE_EXTERNAL_STORAGE" >
<group gid="sdcard_r" />
<group gid="sdcard_rw" />
<group gid="media_rw" />
</permission>
<permission name="android.permission.WRITE_MEDIA_STORAGE" >
<group gid="sdcard_rw" />
<group gid="media_rw" />
</permission>
Speichern Sie die Datei „platform.xml“. Vor dem Neustart des Mobilgeräts müssen die Dateiberechtigungen auf 644 (rw-/r–/r–) gesetzt werden. Starten Sie nun Ihr Android-Gerät neu.
Credits gehen an poolmaker@XDA
Tut mir leid, aber ich habe Sie nicht gut verstanden, aber wenn Sie meinen, dass Sie mehr Speicherplatz im internen Speicher freigeben möchten, indem Sie Symlinks erstellen, warum versuchen Sie nicht Link2SD jetzt, es kann sogar die privaten Daten jeder App mit einer externen SD-Karte verknüpfen ohne Probleme zu verursachen, aber VERKNÜPFEN SIE KEINE SYSTEM-APPS MIT DER externen SD-Karte, da dies negative Auswirkungen auf Ihr Telefon hat. Es ist daher empfehlenswert, eine SD-Karte mit hoher Schreib- und Lesegeschwindigkeit zu haben
Zulgrib