Gibt es eine Möglichkeit, auch nach dem Neustart dauerhaften Lese-/Schreibzugriff auf die Systempartition zu erhalten?

Ich habe ADB.exe verwendet, um Zugriff auf meine Systempartition zu erhalten, ich habe den dalvik-cache-Ordner dort verlinkt, um Platz auf meiner Datenpartition zu sparen, aber das Problem ist, dass ich ihn jedes Mal lesen/schreiben muss, wenn ich eine neue App installieren möchte ( oder selbst wenn die alte App aktualisieren möchte), gibt es eine Möglichkeit, die Partition immer lesen/schreiben zu lassen, anstatt sie nur zu lesen? Danke!

Ich denke, das muss auf Kernel-Ebene gemacht werden ...
Das heißt, ich brauche einen benutzerdefinierten Kernel, richtig? Mein Gerät verfügt nicht über die Entwicklung eines benutzerdefinierten Kernels ... danke für Ihre Antwort!
Nicht einmal die meisten benutzerdefinierten Kernel würden dies tun (nicht wirklich nützlich, außer in bestimmten Situationen wie Ihrer). Ich denke, Sie könnten nachschlagen init.dund ein init.dSkript haben, das den Remount-Job beim Neustart für Sie erledigt. Ich kann jedoch nicht wirklich garantieren, dass es funktioniert - ich hatte selten Glück beim Ausführen von init.dSkripten, die su.
@AndyYan Ein benutzerdefinierter Kernel mit init.dUnterstützung ist nicht erforderlich . Ich werde bald eine Antwort posten.
Ja, ich habe nicht gesagt, dass ein benutzerdefinierter Kernel notwendig ist, aber ich dachte, init.ddass es so ist. Die dritte, die Sie aufwerfen, ist eine interessante, die ich noch nie gesehen habe.
Ich möchte auch hinzufügen, dass die automatische RW-Halterung eine große Sicherheitslücke darstellt.

Antworten (1)

Sie müssen nicht /systempermanent R/W machen. Sie müssen es nur bei jedem Start als R/W mounten. Daher stelle ich Ihnen einige Optionen zur Verfügung, um /systembeim Booten automatisch als R/W zu mounten, aber beachten Sie, dass diese Methoden /systemals R/W im Master-Mount-Namespace gemountet werden , was bedeutet, dass ALLE Programme darauf schreiben können, solange die Dateiberechtigung besteht Rechts. Dies schafft eine sehr große Sicherheitslücke. Tun Sie es auf eigene Gefahr.
Die folgenden Optionen sind keine Schritte einer einzelnen Methode , sondern unterschiedliche Ansätze .

  1. Wenn Sie Ihr Boot-Image ändern können, /init.rcist die Bearbeitung der beste und einfachste Weg.
  2. Wenn Sie nicht /bootdirekt ändern können, aber init.dverfügbar sind, können Sie ein einfaches Skript schreiben, das /systemals R/W gemountet wird. suWie in den Kommentaren erwähnt, geht es möglicherweise nicht direkt durch, wenn Sie versuchen, von einem Skript aus anzurufen init.d.
  3. Wenn sowohl 1 als auch 2 nicht verfügbar sind und Sie root haben (ich nehme an, Sie tun dies, indem Sie diese Frage stellen) , ersetzen Sie eine Systemdienst-Binärdatei ( debuggerdist die beste Wahl) durch ein benutzerdefiniertes Shell-Skript. Führen Sie dann aus start debuggerd, um es zu aktivieren (gültig ab dem nächsten Start).

Das für Methode 2 und 3 erforderliche Skript ist sehr einfach, wie unten.

#!/system/bin/sh
/system/bin/mount -o rw,remount /system

Wahrscheinlich möchten Sie danach eine Schlafschleife hinzufügen, wenn Sie Methode 3 verwenden, da debuggerdsie bei jedem Beenden neu gestartet wird.

Übrigens können Sie init.dmit Methode 3 ganz einfach selbst Unterstützung hinzufügen. Werfen Sie einfach einen Blick darauf . Meiner Meinung nach ist die Neupartitionierung jedoch der beste Weg, um freien Speicherplatz zu nutzen /system, aber es ist potenziell schädlich.

Methode 3 scheint von einem Malware-Autor entwickelt worden zu sein. Ich mag das. +1.