Начиная с 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 выходит за рамки этого ответа.