Perangkat Android ADB tidak sah


93

Konfigurasi:

  • Windows 8.1
  • Versi ADB: 1.0.32
  • Smartphone: OnePlus One

Masalah

Saya menginstal driver Samsung seperti yang dikatakan. Ketika saya menjalankan perintah perangkat ADB, dikatakan tidak sah .

Sudah mencoba:

  1. Saya telah melakukan semua yang dikatakan di posting ini: https://stackoverflow.com/a/25546300/1848376

    Tetapi masalahnya adalah saya tidak mendapatkan prompt di telepon untuk memberi tahu saya bahwa saya harus menerima koneksi.

  2. Saat saya menjalankan perintah adb shell, berikut jawabannya:

    error: device unauthorized.
    This adbd's $ADB_VENDOR_KEYS is not set; try 'adb kill-server' if that seems wrong.
    Otherwise check for a confirmation dialog on your device.

Saya melakukan "adb kill-server", tetapi tidak mengubah apa pun. Mengapa?


Setelah mencoba semua hal di atas, saya mulai mengunduh AVD yang lebih rendah untuk melihat apakah ada yang lain yang bisa berfungsi. API 28 dan 27 masih membeku selama boot, tetapi API 26 segera dimulai. Android Studio 3.1.3 Saya akan mencoba mencopot pemasangan dan memasang ulang di lain waktu, tetapi senang akhirnya ini berfungsi lagi. Penginstalan baru Android Studio 3.1 setelah penginstalan Windows 10 baru setelah menangani kesalahan proses kritis selama hampir seminggu tanpa perbaikan.
Jon

Jawaban:


208
  1. Coba Cabut Otorisasi DEBUGGING USB.
  2. Aktifkan USB debugging lagi.

Berhasil.


8
Saat Anda mengaktifkan kembali USB debugging, mungkin penting untuk mencentang kotak yang mengatakan selalu izinkan USB debugging dari perangkat ini. Saya yakin opsi ini hanya akan muncul jika perangkat Android Anda terhubung ke USB saat Anda mengaktifkan kembali USB debugging.
joshgoldeneagle

Saya hanya perlu menonaktifkan dan kemudian mengaktifkan USB debugging di perangkat saya, setelah pindah ke komputer baru (Macbook).
Nancy

Cabut lalu ganti harus menjadi langkah pertama Anda.
TGrif

Terima kasih atas jawaban Anda. Anda menghemat waktu saya.
Kelvin Low

Saya tidak pernah berpikir saya terjebak dalam "apakah Anda mencoba mematikannya lagi?" :)
jediz

45

Ada pengembang Thankgod xda: http://forum.xda-developers.com/verizon-lg-g3/help/unable-to-access-adb-t2830087

Baru saja menghapus file adbkey di C: Users / $ Name / .android adbkey.pub hilang.

Mulai ulang setelah ini dan kedua file ada di sana.

Jika ini tidak berhasil: - Coba Cabut Otorisasi DEBUGGING USB. - Aktifkan USB debugging lagi.


1
di mana kunci ini di Mac?
mosaad

1
> Restart setelah ini dan kedua file tersebut ada Seperti di reboot? Saya menggunakan Windows dan terjebak dengan perangkat "tidak sah" yang tidak mau hilang! (Tapi saya belum reboot, karena 2 juta jendela terbuka)
tbone

1
@ Tulang Saya tahu ini adalah jawaban yang terlambat tetapi Anda hanya perlu memulai ulang server adb.
Carlos EL Augusto

2
menghapus semua yang ada di file itu dan tidak hanya memperbaiki ADB melalui Jaringan, tetapi juga USB
Ben

2
berganti nama menjadi .android.oldberada di sisi yang aman, tetapi segera setelah saya memulai ulang server adb dan mencabut otorisasi, ponsel saya langsung meminta saya! @julestruong terima kasih!
Richard.Davenport

27

Berurutan:

    adb kill-server
  • di PENYIAPAN PERANGKAT Anda, buka opsi-pengembang dan nonaktifkan debugging usb

  • tekan REVOKE USB debugging authorization, klik OK

  • aktifkan usb-debugging

    adb start-server

2
Saya menjalankan perintah sebagai root di Ubuntu dan ini menyelesaikan masalah saya. Tidak dapat membuatnya bekerja tanpa su (Ubuntu 18).
petobens

20

Saya menghapus file berikut dari folder ~ / .android :

  • adbkey
  • adbkey.pub

Saya menonaktifkan dan mengaktifkan ADB di dalam perangkat dan sekarang berfungsi ...


1
Saya hanya melihat adbkeyfile jadi saya menghapusnya dan berfungsi seperti pesona. Terima kasih!
Reeshabh Ranjan

18

dalam opsi Pengembang,

  1. Aktifkan USB debugging.

masukkan deskripsi gambar di sini

  1. Berikan otorisasi.

masukkan deskripsi gambar di sini

(Jika tidak ada menu opsi Pengembang, Anda harus mengklik 3 kali nomor build dari menu Status Ponsel untuk menjadi pengembang. Anda dapat menggunakan menu opsi pengembang.)

masukkan deskripsi gambar di sini


8

Hapus adbkey yang ada

ATAU

Ganti nama adbkeys

Praktik terbaik adalah mengganti nama kunci karena menyediakan cadangan.

cd ~/.Android

mv adbkey adbkey2

mv adbkey.pub adbkey.pub2

Berhenti berikutnya & mulai server

cd ~/Android/Sdk/platform-tools

Temukan perangkat /Android/Sdk/platform-tools$ ./adb devices

/Android/Sdk/platform-tools$ ./adb kill-server

/Android/Sdk/platform-tools$ ./adb start-server

Kemudian, hentikan emulator Open AVD manager, klik panah bawah, lalu klik wipe data

Mulai ulang emulator. Kemudian semuanya bekerja dengan baik :)


5

Coba ini hapus centang pada "verifikasi aplikasi melalui USB" di opsi pengembang dan kemudian hidupkan dan matikan "USB Debugging". Ini bekerja dengan saya.


Metode ini berhasil untuk saya: "USB Debugging" saya AKTIF pada awalnya, lalu saya hapus centang "verifikasi aplikasi melalui USB" tetapi ini tidak membantu. Setelah saya mengaktifkan "USB Debugging", itu berhasil!
Jackie Yeh

4

Pastikan bahwa Anda telah menerima penekanan tombol "ok" ketika diminta itu menunjukkan sidik jari perangkat setelah menghubungkan melalui usb ke PC Anda.


2
Saya ingin tahu apakah orang yang memberikan suara positif pada jawaban lain benar-benar memeriksa layar perangkat…
Skippy le Grand Gourou

LOL Saya merasa sangat bodoh ketika saya melihat ke telepon saya
Jack St. Claire

4

Di studio Android, Run menu > Runacara OFFLINE ...untuk perangkat yang terhubung.

Di bawah ini adalah prosedur yang diikuti untuk menyelesaikannya:

  1. (Baca catatan di bawah terlebih dahulu) Hapus ~/.android/adbkey(atau, ganti nama menjadi ~/.android/adbkey2, ini lebih baik jika Anda menginginkannya kembali karena alasan tertentu)
    Catatan : Saya kebetulan melakukan langkah ini, tetapi itu tidak menyelesaikan masalah, setelah melakukan semua langkah-langkah di bawah ini berhasil, jadi tidak yakin apakah langkah ini diperlukan.

  2. Jalankan locate platform-tools/adb
    Catatan : gunakan jalur yang berasal dari sini di perintah di bawah ini

  3. Matikan server adb:
    sudo ~/Android/Sdk/platform-tools/adb kill-server

  4. Anda akan mendapatkan Allow accept..pesan popup di perangkat Anda. Terima itu. Ini penting, yang memecahkan masalah.

  5. Mulai server adb:
    sudo ~/Android/Sdk/platform-tools/adb start-server

  6. Di studio Android, lakukan Run menu > Runlagi.
    Ini akan menampilkan sesuatu seperti Samsung ...(nama produsen ponsel Anda).
    Juga menginstal apk di perangkat dengan benar kali ini tanpa kesalahan.

Semoga membantu.


2
  1. Pertama Hapus adbkeydan adbkey.pubdari .androiddirektori di direktori Home Anda.
  2. Membuat .androiddirektori di rumah Anda dengan 710 izin: $ chmod 710 .android/dan kepemilikan sebagai: chown -R <user>:<user> .android/. Ex:

    $ chmod 710 .android/
    $ chown -R ashan:ashan .android/
  3. Buka opsi pengembang di ponsel Anda dan ketuk opsi Revoke USB debugging authorizations

  4. Matikan semua USB Debuggingdan Developer Optionsdi perangkat dan lepaskan perangkat dari mesin Anda.

  5. Hubungkan perangkat lagi dan pertama-tama nyalakan Developer Options. Kemudian Nyalakan USB debugging.

  6. Pada tahap ini di ponsel Anda, Anda akan mendapatkan prompt untuk meminta izin dari Anda. Catatan: Anda harus mencentang always accept from this ….opsi kotak centang dan klik ok.

  7. Sekarang dalam mesin Anda, mulai server adb: adb start-server.

  8. Semoga saat Anda mengeluarkan perintah: adb devicessekarang, Anda akan melihat perangkat Anda siap diotorisasi.


1

Saya terkena masalah ini juga. Saya menggunakan versi kustom AOSP saya di Nexus 5X. Saya telah menambahkan satu baris dalam build / core / main.mk:

diff --git a/core/main.mk b/core/main.mk
index a6f829ab6..555657539 100644
--- a/core/main.mk
+++ b/core/main.mk
@@ -362,6 +362,8 @@ else # !enable_target_debugging
   ADDITIONAL_DEFAULT_PROPERTIES += ro.debuggable=0
 endif # !enable_target_debugging

+ADDITIONAL_DEFAULT_PROPERTIES += ro.adb.secure=1
+
 ## eng ##

 ifeq ($(TARGET_BUILD_VARIANT),eng)

Sekarang adb shellbekerja dengan baik

Materi tersebut berguna (artikel berbahasa Mandarin): http://www.voidcn.com/blog/kc58236582/article/p-6335996.html , http://blog.csdn.net/fanmengke_im/article/details/28389439



1

Tak satu pun dari metode yang tercantum di halaman ini berhasil untuk saya; secara khusus:

  • Saya mengalami masalah ketika aplikasi Pengaturan macet saat memilih Cabut otorisasi debugging USB
  • Saya menjalankan LineageOS 14 x86_64
  • Saya menggunakan ADB melalui jaringan
  • Tidak /data/misc/adbada adb_keysfile yang terkandung
  • Menghapus lokal saya ~/.android/adbkeyjuga tidak membantu
  • Saya memiliki akses root dari terminal lokal
  • Saya tidak mendapatkan dialog konfirmasi apa pun
adb: error: failed to get feature set: 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.
- waiting for device -

Pada akhirnya, saya menemukan posting yang sangat berguna di sini yang menyarankan untuk memasukkan konten ~/.android/adbkey.pubdi dalam /data/misc/adb/adb_keysfile secara manual .

Mereka menyarankan salah satu dari dua metode ini:

  1. Dari perangkat lain yang berfungsi , salin adb_keysfile ke komputer Anda:

    # On the other Android device
    cp /data/misc/adb/adb_keys /sdcard
    # From your computer
    adb pull /sdcard/adb_keys .

    Kemudian letakkan adb_keysfile yang berfungsi ke kartu sd perangkat Android yang bermasalah (menggunakan Web atau MTP) bernama sebagai adb_keys, lalu salin file tersebut ke jalur yang benar:

    # On the problematic device
    cp /sdcard/adb_keys /data/misc/adb/adb_keys
  2. Metode lainnya adalah dengan hanya menyalin mesin Anda adbkey.pubdari ~/.android/direktori, dan memasukkannya ke dalam sdcard perangkat Android yang bermasalah (menggunakan Web atau MTP) bernama adb_keys, lalu salin file ke jalur yang benar:

    # On the problematic device
    cp /sdcard/adbkey.pub /data/misc/adb/adb_keys

    (Catatan: ada jawaban serupa di SO yang menjelaskan lebih lanjut untuk metode ini.)

Karena saya menjalankan server web di komputer saya, dan saya telah curlmenginstal di Android, saya sudari terminal dan menjalankan berikut ini di perangkat Android saya:

cd /data/misc/adb
curl 192.168.1.35:8080/adbkey.pub > adb_keys

Membunuh adbdaemon (menggunakan adb kill-server) dan BAM ! The adbshell bekerja dengan baik, seperti seharusnya dari awal.

Mudah-mudahan, metode yang dijelaskan di sini berfungsi untuk Anda seperti halnya saya.


1

Aplikasi Anda terdeteksi sebagai program berbahaya. Nonaktifkan opsi "Verifikasi aplikasi melalui USB". Ini dalam tampilan yang sama dengan "USB debugging".


0

Yang Anda butuhkan hanyalah mengotorisasi mode debug.
1. pastikan Perangkat Anda terhubung ke PC Anda.
2. Izinkan otorisasi untuk mode debug melalui Android-Studio dengan membuka
Jalankan -> Lampirkan proses debugger ke Android
daripada Anda akan melihat jendela sembulan untuk mengizinkan mode debug di Perangkat Anda,
tekan OK. selesai.
Saya berharap ini membantu seseorang.


0

Saya memiliki masalah yang sama setelah menginstal ulang studio android saya. Inilah yang saya lakukan untuk membuat adb saya berfungsi kembali:

-path to C:\Users\User\AppData\Local\Android\sdk\platform-tools
-Shift+r.click and start command from here instead.

0

bagi siapa pun yang menghadapi ini nanti, ini juga dapat membantu. Saya mengalami masalah ini saat mencoba menggunakan adb dari prompt perintah pengguna dan jawaban di atas tidak membantu, tetapi masalahnya hilang dengan "adb kill-server" saat berjalan di prompt perintah administrator.


0

Ini berhasil untuk saya:

rm ~ / .android / adbkey.pub

sudo ./adb kill-server

sudo ./adb start-server

sudo ./adb -s emulator-5554 install ~ / apk_to_install.apk

Saya tidak yakin apakah itu ide yang bagus menjalankan adb dengan hak istimewa sudo, tetapi itu satu-satunya cara saya membuatnya berhasil. Salam.


0

Saya mendapatkan ini sebagai root ketika sebagai pengguna non-root saya mendapatkan kesalahan izin mencoba terhubung ke pemulihan kustom (Philz). jadi saya mematikan server adb, menyalin subdirektori .android dari akun pengguna saya ke / root, menyimpan -R ke root.root, dan memulai ulang server adb. Saya ikut!


-1

Saya kira Anda telah mengaktifkan Opsi Pengembang Pada Perangkat di ponsel cerdas Anda? Jika tidak, Anda dapat melihat langkah-langkah yang disediakan oleh Android, http://developer.android.com/tools/device.html#developer-device-options


Ya, saya melakukannya, dan saya juga mematikan dan menghidupkannya.
julestruong

menurut tautan ini ( code.google.com/p/android/issues/detail?id=175077 ), tampaknya "alat platform 23 rc1" mengalami masalah ini. Anda dapat menemukan versi alat platform dengan cmd "$ adb version". Tautan mengatakan bahwa beralih kembali ke alat build versi 22 memperbaiki masalah.
Dhunju_likes_to_Learn

Saya mengunduh alat plateform 22, dan menggantinya di direktori sdk, tidak berfungsi (versi adb tampaknya sama)
julestruong

-1

Untuk FIRE STICK 4K sebenarnya tertulis di dialog:

Jika tidak, periksa dialog konfirmasi di perangkat Anda

Memang di TV di ruangan lain ada dialog konfirmasi. Doh '!


1
Mungkin ini bisa menjadi komentar sampingan untuk pertanyaan, tetapi ini bukan jawaban karena pertanyaan berkaitan dengan jenis perangkat yang berbeda.
Jairo

-2

Saya memiliki masalah ini dan itu tidak diselesaikan dengan menghapus kunci apa pun (setidaknya menghapusnya tidak memperbaikinya, mungkin berpengaruh setelah saya memperbaikinya)

Saya sebenarnya memiliki perbedaan antara versi sdk-tools dan versi Android Studio saya. Setelah memperbarui alat saya, itu masih tidak berfungsi, tetapi setelah memperbarui AS (ke 1.4) semuanya berfungsi dengan baik lagi.

Selalu perbarui sdk-tools dan versi AS bersama-sama;)

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.