Wie kann ich adbd beim Booten auf Cyanogenmod aktivieren?


8

Ich stecke während des Startvorgangs fest, bevor ich die Passphrase für /dataund jetzt auf dem SIM-PIN-Bildschirm eingebe. Zu diesem Zeitpunkt ist auf adb nicht zugegriffen (normalerweise wird adbd nach dem Entsperren /datausw. gestartet ).

Wie kann ich adbdbeim Booten starten ? Dies ist ein CM 10.2 Userdebug Build für i9300 mit /default.prop(von initrd), der Folgendes enthält:

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

Ich habe auch Folgendes ohne Erfolg versucht:

  • Bearbeiten /init.rc, die disabledZeile für auskommentieren service adbd.
  • Bearbeiten /init.smdk4x12.usb.rc, start adbdzum property:sys.usb.config=mtpTrigger hinzufügen .
  • Hinzufügen persist.sys.usb.config=adbzu/default.prop

Hat jemand das zum Laufen gebracht? Ich habe ein Nexus 10, und ich versuche, das USB-Debugging aufrechtzuerhalten, nachdem das Gerät zurückgesetzt wurde, aber es fragt nach RSA-Authentifizierung. Wie kann ich das entfernen? Ich versuche das alles zu tun, ohne das Gerät zu berühren. Wie ein Skript ausführen, um das Tablet zurückzusetzen, nachdem das Zurücksetzen des USB-Debugging noch aktiviert ist und kein RSA-Popup-Mist mehr vorhanden ist. Also kann ich meine Skriptausführung fortsetzen ...
Dave

Antworten:


5

Seit Android 4.2.2 ist [USB-Debugging eine Authentifizierung erforderlich], was beim Booten nicht möglich ist. Um dies zu deaktivieren, legen Sie die folgende Eigenschaft in default.prop (innerhalb von initrd) fest:

ro.adb.secure=0

Alternativ können Sie unter ~/.android/adbkey.pubauf die ursprüngliche Ramdisk des Boot- / Wiederherstellungs-Images kopieren /adb_keys. Dadurch bleibt die sichere Funktion erhalten, während Sie Ihren Schlüsselzugriff gewähren.

Dies ermöglicht adbd für kurze Zeit. Es scheint, dass ein Prozess eingestellt wird sys.usb.config=mtp. Um dies zu umgehen, habe ich diesen Patch angewendet (möglicherweise ist nur das start adbdTeil erforderlich, 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 nicht in der Lage sein, root ( su) dadurch zu bekommen . Stellen Sie dazu Folgendes ein:

ro.secure=0

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


Bei modernen Linien wird dies automatisch für Sie mit engVarianten-Builds durchgeführt, z brunch lineage_us996-eng.
Phs

0

Verwenden Sie diesen einfachen Befehl, um loszulegen, ohne stecken zu bleiben!

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

Erwarte deine Antwort!


1
Dies funktioniert während des Startvorgangs nicht (z. B. bevor die Festplattenverschlüsselung entsperrt wird), kann jedoch aktiv werden, sobald Android gestartet wird.
Lekensteyn
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.