Как я могу включить adbd во время загрузки на Cyanogenmod?

8

Я застрял во время процесса загрузки, сначала перед вводом ключевой фразы для, /dataа теперь на экране PIN-кода SIM-карты. На этом этапе adb недоступен (обычно adbd запускается после разблокировки /dataи т. Д.).

Как я могу начать adbdво время загрузки? Это сборка пользовательской отладки CM 10.2 для i9300 с /default.prop(из initrd), содержащая:

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

Я также попробовал следующее безрезультатно:

  • Редактировать /init.rc, закомментировать disabledстроку для service adbd.
  • Редактировать /init.smdk4x12.usb.rc, добавить start adbdв property:sys.usb.config=mtpтриггер.
  • Добавить persist.sys.usb.config=adbв/default.prop
Lekensteyn
источник
кто-нибудь заставил это работать? У меня есть Nexus 10, и я пытаюсь поддерживать отладку USB после перезагрузки устройства, но он запрашивает аутентификацию RSA. как я могу удалить это? Я пытаюсь сделать все это, не касаясь устройства. как не запустить скрипт для сброса планшета, после его сброса USB отладки по - прежнему включена , и ни ЗГА всплывали crap..so я могу продолжить свое выполнение сценария ...
Дейв

Ответы:

5

Начиная с Android 4.2.2, [Отладка USB требует аутентификации], что невозможно во время загрузки. Чтобы отключить это, установите следующее свойство в default.prop (внутри initrd):

ro.adb.secure=0

В качестве альтернативы, скопируйте ~/.android/adbkey.pubв начальный виртуальный диск образ загрузки / восстановления по адресу /adb_keys. Это сохраняет функцию безопасности при предоставлении доступа к вашему ключу.

Это позволяет adbd на короткое время. Кажется, что какой-то процесс настройки sys.usb.config=mtp. Чтобы обойти это, я применил этот патч (возможно, start adbdнужна только часть, я только что протестировал ниже):

--- 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

Вы не сможете получить root ( su) через это. Для этого установите:

ro.secure=0

Обновление блока initramfs, поля заголовка initramfs и идентификатора SHA1 (заголовка) файла boot.img выходит за рамки этого ответа.

Lekensteyn
источник
На современном происхождении это автоматически делается для вас с engвариантами сборки, например brunch lineage_us996-eng.
PHS
0

Используйте эту простую одну команду, чтобы начать работать без заедания!

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

Жду вашего ответа!

Maahi
источник
1
Это не будет работать во время загрузки (например, до разблокировки шифрования диска), хотя оно может стать активным после запуска Android.
Лекенштейн