Kể từ Android 4.2.2, [gỡ lỗi USB yêu cầu xác thực], điều không thể xảy ra trong quá trình khởi động. Để tắt tính năng này, đặt thuộc tính sau trong default.prop (bên trong initrd):
ro.adb.secure=0
Hoặc, sao chép ~/.android/adbkey.pub
vào ramdisk ban đầu của hình ảnh khởi động / phục hồi tại /adb_keys
. Điều này bảo tồn tính năng bảo mật trong khi cấp quyền truy cập chính của bạn.
Điều này cho phép adbd trong một thời gian ngắn. Có vẻ như một số quá trình đang thiết lập sys.usb.config=mtp
. Để khắc phục điều đó, tôi đã áp dụng bản vá này (có lẽ chỉ cần start adbd
một phần là cần thiết, tôi chỉ thử nghiệm phần bên dưới):
--- 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
Bạn sẽ không thể lấy root ( su
) thông qua điều này. Cho rằng, đặt:
ro.secure=0
Cập nhật khối initramfs, trường tiêu đề initramfs và ID SHA1 (tiêu đề) của boot.img không nằm trong phạm vi của câu trả lời này.