Bagaimana saya bisa mengaktifkan adbd saat boot di Cyanogenmod?

8

Saya macet selama proses boot, mula-mula sebelum memasukkan frasa sandi untuk /datadan sekarang di layar PIN SIM. Pada titik ini, adb tidak dapat diakses (biasanya adbd akan mulai setelah membuka kunci /data, dll.).

Bagaimana saya bisa mulai adbdsaat boot? Ini adalah CM 10.2 userdebug build untuk i9300 with /default.prop(from initrd) yang mengandung:

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

Saya juga mencoba yang berikut ini tanpa hasil:

  • Edit /init.rc, komentari disabledbaris untuk service adbd.
  • Edit /init.smdk4x12.usb.rc, tambahkan start adbdke property:sys.usb.config=mtppelatuk.
  • Tambahkan persist.sys.usb.config=adbke/default.prop
Lekensteyn
sumber
apakah ada yang membuat ini bekerja? saya punya nexus 10, dan saya mencoba mempertahankan usb debugging setelah perangkat di-reset, tetapi meminta otentikasi RSA. bagaimana saya bisa menghapusnya? Saya mencoba melakukan semua ini tanpa menyentuh perangkat. seperti menjalankan skrip untuk mereset tablet, setelah me-reset usb debugging masih diaktifkan dan tidak ada rsa pop up crap..jadi saya dapat melanjutkan eksekusi skrip saya ...
dave

Jawaban:

5

Sejak Android 4.2.2, [USB debugging memerlukan otentikasi], sesuatu yang tidak mungkin dilakukan saat booting. Untuk menonaktifkan ini, tetapkan properti berikut di default.prop (initrd dalam):

ro.adb.secure=0

Atau, salin ~/.android/adbkey.pubke ramdisk awal dari boot / image pemulihan di /adb_keys. Ini menjaga fitur aman sambil memberikan akses utama Anda.

Ini memungkinkan adbd untuk waktu yang singkat. Tampaknya beberapa proses sedang diatur sys.usb.config=mtp. Untuk mengatasinya, saya menerapkan tambalan ini (mungkin hanya start adbdbagian yang diperlukan, saya hanya menguji yang di bawah):

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

Anda tidak akan bisa mendapatkan root ( su) melalui ini. Untuk itu, atur:

ro.secure=0

Memperbarui blok initramfs, bidang header initramfs dan ID SHA1 (header) dari boot.img tidak ada dalam cakupan jawaban ini.

Lekensteyn
sumber
Pada garis keturunan modern, ini dilakukan secara otomatis untuk Anda dengan engvarian build misalnya brunch lineage_us996-eng.
phs
0

Gunakan satu perintah sederhana ini untuk pergi tanpa macet!

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

Menunggu respons Anda!

Maahi
sumber
1
Ini tidak akan berfungsi selama boot (mis. Sebelum enkripsi disk tidak dikunci), meskipun mungkin menjadi aktif setelah Android mulai dijalankan.
Lekensteyn