Set ADB Vendor Keys to Fix Unauthorized ADB

Masalah ini bermula dari TWRP yang selalu meminta password untuk membaca partisi /system dan setelah mencari pemecahannya di dunia maya ternyata cara paling ampuh adalah dengan melakukan format pada partisi /data yang artinya menghapus seluruh isi sarana penyimpanan di hape, akhirnya sekalian saja memutakhirkan ROM MiRoom dari versi 9.3.28 ke 9.5.9.

Setelah upgraded, ternyata ADB (Android Debug Bridge) tidak memiliki izin untuk terhubung ke hape.

iza@t520:~$ adb devices
List of devices attached
b7908d6  unauthorized
iza@t520:~$ adb shell
error: device unauthorized.
This adb server's $ADB_VENDOR_KEYS is not set
Try 'adb kill-server' if that seems wrong.
Otherwise check for a confirmation dialog on your device.

Wut?

Aneh, padahal tadinya normal saja. USB debugging sudah diaktifkan, Allow USB debugging juga sudah diiyakan.

Mencoba mematikan USB debugging dan melepas-sambungkan kabel USB juga tetap tidak bisa. Mencoba Revoke USB debugging authorization untuk memunculkan notif RSA fingerprint juga gagal.

Setelah berkonsultasi dengan DuckDuckGo akhirnya menemukan solusi ampuh di laman https://stackoverflow.com/questions/32132434/set-adb-vendor-keys.
Berikut ringkasannya:

  • Hapus kunci ADB yang ada dalam komputer:

    rm -v ~/.android/*
    
  • Hapus kunci ADB yang diizinkan oleh hape di /data/misc/adb/adb_keys. Pastinya hape sudah di-root untuk melakukan ini.

  • Buat pasangan kunci yang baru di komputer.

    db keygen .android/adbkey
    
  • Salin kunci publik ~/.android/adbkey.pub yang baru dihasilkan komputer ke dalam hape dan letakkan di /data/misc/adb/adb_keys.
    Karena ADB-nya tidak berfungsi, saya menyalin berkas tersebut dari laptop ke hape dengan menggunakan Telegram.

  • Hidupkan ulang hape dan sambungkan ke komputer menggunakan kabel USB untuk menguji ADB-nya.
    Voila!

    iza@t520:~$ adb devices
    List of devices attached
    b7908d6  device
    

    It’s werks…