Wie kann ich adbd während des Bootens auf Cyanogenmod aktivieren?

Ich stecke während des Bootvorgangs fest, zunächst vor der Eingabe der Passphrase für /dataund jetzt beim SIM-PIN-Bildschirm. Zu diesem Zeitpunkt ist adb unzugänglich (normalerweise würde adbd nach dem Entsperren /datavon usw. starten).

Wie kann ich adbdwährend des Bootens starten? Dies ist ein CM 10.2 Userdebug-Build für i9300 mit /default.prop(von initrd) enthaltendem:

ro.adb.secure=1
ro.secure=1
ro.allow.mock.location=0
ro.debuggable=1
persist.sys.usb.config=mtp,adb

Folgendes habe ich auch vergeblich probiert:

  • Bearbeiten Sie die Zeile für /init.rc, kommentieren Sie sie aus .disabledservice adbd
  • Bearbeiten , zum Auslöser /init.smdk4x12.usb.rchinzufügen .start adbdproperty:sys.usb.config=mtp
  • Hinzufügen persist.sys.usb.config=adbzu/default.prop
hat jemand das zum laufen bekommen? Ich habe ein Nexus 10 und versuche, das USB-Debugging aufrechtzuerhalten, nachdem das Gerät zurückgesetzt wurde, aber es fragt nach einer RSA-Authentifizierung. wie kann ich das entfernen? Ich versuche, all dies zu tun, ohne das Gerät zu berühren. Führen Sie zum Beispiel ein Skript aus, um das Tablet zurückzusetzen. Nach dem Zurücksetzen ist das USB-Debugging immer noch aktiviert und es wird kein RSA-Popup-Mist angezeigt. So kann ich meine Skriptausführung fortsetzen ...

Antworten (2)

Seit Android 4.2.2 [USB-Debugging erfordert Authentifizierung], was während des Bootens nicht möglich ist. Um dies zu deaktivieren, legen Sie die folgende Eigenschaft in default.prop (innerhalb von initrd) fest:

ro.adb.secure=0

Kopieren Sie alternativ ~/.android/adbkey.pubin die anfängliche Ramdisk des Boot-/Wiederherstellungs-Images unter /adb_keys. Dadurch bleibt die sichere Funktion erhalten, während Ihr Schlüsselzugriff gewährt wird.

Dadurch wird adbd für kurze Zeit aktiviert. Es scheint, dass sich ein Prozess einstellt sys.usb.config=mtp. Um das zu umgehen, habe ich diesen Patch angewendet (vielleicht ist nur der start adbdTeil notwendig, ich habe nur das Folgende getestet):

--- init.smdk4x12.usb.rc        2013-10-24 18:47:34.894857300 +0200
+++ init.smdk4x12.usb.rc        2013-10-24 18:47:40.775493943 +0200
@@ -12,10 +12,11 @@
 on property:sys.usb.config=mtp
     write /sys/class/android_usb/android0/enable 0
     write /sys/class/android_usb/android0/idVendor 04e8
-    write /sys/class/android_usb/android0/idProduct 685c
-    write /sys/class/android_usb/android0/functions ${sys.usb.config}
+    write /sys/class/android_usb/android0/idProduct 6860
+    write /sys/class/android_usb/android0/functions ${sys.usb.config},adb
     write /sys/class/android_usb/android0/enable 1
-    setprop sys.usb.state ${sys.usb.config}
+    start adbd
+    setprop sys.usb.state ${sys.usb.config},adb

 on property:sys.usb.config=mtp,adb
     write /sys/class/android_usb/android0/enable 0

Sie werden dadurch nicht in der Lage sein, root ( su) zu bekommen. Stellen Sie dazu ein:

ro.secure=0

Das Aktualisieren des initramfs-Blocks, des initramfs-Header-Felds und der SHA1-ID (Header) von boot.img ist nicht Gegenstand dieser Antwort.

Bei moderner Abstammung wird dies automatisch für Sie mit engVarianten-Builds erledigt, z. B. brunch lineage_us996-eng.

Verwenden Sie diesen einfachen Befehl, um loszulegen, ohne hängen zu bleiben!

# setprop persist.sys.usb.config mtp,adb

Erwarte deine Antwort!

Dies funktioniert nicht während des Bootens (z. B. bevor die Festplattenverschlüsselung entsperrt wird), obwohl es möglicherweise aktiv wird, sobald Android zu starten beginnt.