Wie kann ich bei jedem Start ein benutzerdefiniertes .sh-Skript ausführen (ohne native init.d-Unterstützung)?

Dies scheint ein allgemeines Anliegen von Anfängern des Android-Systems zu sein, die gerade ihre Telefone gerootet haben. Die am weitesten verbreitete Methode besteht möglicherweise darin, Ihr Skript in /system/etc/init.d. Wenn das ROM unterstützt, init.ddann Voila, aber das ist nicht immer der Fall. So

Wie kann ich mein benutzerdefiniertes Skript bei jedem Start ausführen? Was ist der Benutzer / die Gruppe, in der mein Skript ausgeführt wird, wenn ich Ihre Lösung verwende?


Wir begrüßen alle Arten von Lösungen.

Antworten (3)

Einfacher Weg (Arbeiten):

  1. Bereiten Sie Ihre Post-Boot-Befehle in einem Skript vor, sagen Sie /system/xbin/post-boot (set exec perm)

  2. Fügen Sie den obigen benutzerdefinierten Skriptpfad am Ende von /system/etc/init.qcom.post_boot.sh hinzu

Z.B:

# echo /system/xbin/post-boot >> /system/etc/init.qcom.post_boot.sh

Erledigt!

(Wenn Sie qcom post_boot (Qualcomm-Geräte) nicht finden können, suchen Sie nach post_boot-Skripten.)

Ich denke, der einfachste Weg wäre die Verwendung der App Kernel Adiutor . Es hat die Fähigkeit, init.d zu emulieren. Öffnen Sie die App und wischen Sie vom linken Rand, es wird ein Menü angezeigt, scrollen Sie zum Werkzeugbereich und tippen Sie dann auf init.d. Dort haben Sie einen Schalter zum Aktivieren oder Deaktivieren des init.d-Emulators für Geräte, die dies tun init.d nicht unterstützen, unten rechts haben Sie ein "Plus"-Symbol, um auszuführende Skripte hinzuzufügen.

Gute Arbeit, KA vorzuschlagen. Ich habe es versucht, wusste aber vor Monaten nicht, was ich tun sollte.

Aus meiner Antwort auf eine andere Frage habe ich hier zwei Methoden.

init.d1. Unterstützung manuell durch Bearbeiten hinzufügeninit.rc

Ich habe das noch nie persönlich gemacht, aber ich kann das sagen

  • Sie müssen Ihr Boot-Image entpacken und neu packen. Dies ist möglicherweise nicht sehr schwierig, wenn Sie aus dem SuperSU-Zip-Paket lernen können.

2. Ersetzen Sie einen Systemdienst (in diesem Fall wird das Skript immer als root ausgeführt)

Ersetzen Sie eine Systemdienst-Binärdatei ( debuggerdist die beste Wahl) durch Ihr benutzerdefiniertes Shell-Skript. Führen Sie dann aus start debuggerd, um es zu aktivieren (gültig ab dem nächsten Start).

Wenn es ein gibt debuggerd64, stellen Sie sicher, dass Sie es durch ein Null-Skript ersetzen.