Yetkisiz Android ADB cihazları


100

Yapılandırma:

  • Windows 8.1
  • ADB sürümü: 1.0.32
  • Akıllı Telefon: Oneplus One

Sorun

Söylendiği gibi Samsung sürücülerini kurdum. ADB cihazları komutunu çalıştırdığımda yetkisiz dedi .

Zaten denendi:

  1. Bu yazıda söylenen her şeyi yaptım: https://stackoverflow.com/a/25546300/1848376

    Ancak sorun şu ki, telefonda bağlantıyı kabul etmem gerektiğini söyleyen bir uyarı alamıyorum.

  2. Komutu çalıştırdığımda adb shellcevap şudur:

    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.
    

"Adb kill-server" yaptım ama hiçbir şeyi değiştirmedi. Neden?


Yukarıdakilerin hepsini denedikten sonra, başkalarının çalışıp çalışmayacağını görmek için daha düşük AVD'leri indirmeye başladım. API 28 ve 27, önyükleme sırasında hala donuyor, ancak API 26 hemen başladı. Android Studio 3.1.3 Daha sonraki bir tarihte kaldırıp yeniden yüklemeyi deneyeceğim, ancak bunun sonunda tekrar çalıştığına sevindim. Düzeltme olmaksızın neredeyse bir hafta boyunca kritik işlem hatasıyla uğraştıktan sonra yeni bir Windows 10 yüklemesinin ardından Android Studio 3.1'in yeni kurulumu.
Jon

Yanıtlar:


215
  1. USB HATA AYIKLAMA Yetkilendirmesini İptal Etmeyi deneyin.
  2. USB hata ayıklamasını tekrar etkinleştirin.

İşe yaradı.


8
USB hata ayıklamasını yeniden etkinleştirdiğinizde, bu cihazdan her zaman USB hata ayıklamasına izin ver yazan kutuyu işaretlemek önemli olabilir. Bu seçeneğin yalnızca USB hata ayıklamayı yeniden etkinleştirirken Android cihazınızı USB'ye taktıysanız görüneceğine inanıyorum.
joshgoldeneagle

Yalnızca yeni bir bilgisayara (Macbook) taşıdıktan sonra cihazımda USB hata ayıklamasını devre dışı bırakıp etkinleştirmem gerekti.
Nancy

Fişi çıkarıp yeniden takın, yine de ilk hareketiniz olmalıdır.
TGrif

Cevabınız için teşekkür ederim. Zamanımı kurtardın.
Kelvin Low

Kendimi "tekrar kapatıp açmaya çalıştın mı?" :)
jediz

46

Thankgod xda geliştiricileri var: http://forum.xda-developers.com/verizon-lg-g3/help/unable-to-access-adb-t2830087

Sadece C'deki adbkey dosyasını silmek zorunda kaldı: Kullanıcılar / $ Ad / .android adbkey.pub eksikti.

Bundan sonra yeniden başlatın ve her iki dosya da orada.

Bu işe yaramazsa: - USB HATA AYIKLAMA Yetkilendirmesini İptal Etmeyi deneyin. - USB hata ayıklamasını tekrar etkinleştirin.


1
Mac'te bu anahtar nerede?
mozaikler

1
> Bundan sonra yeniden başlatın ve her iki dosya da var Yeniden başlatma sırasında olduğu gibi mi? Windows'tayım ve bir yere gitmeyecek "yetkisiz" bir cihazla sıkışıp kaldım! (Ama yeniden başlatmadım, çünkü 2 milyon pencere açık)
tbone

2
@tbone Geç cevap olduğunu biliyorum ama sadece adb sunucusunu yeniden başlatmanız gerekiyor.
Carlos EL Augusto

2
o dosyadaki her şeyi sildi ve yalnızca Ağ üzerinden
Ben

2
.android.oldgüvenli tarafta olacak şekilde yeniden adlandırıldı , ancak adb sunucusunu yeniden başlattığım ve yetkilendirmeleri iptal ettiğim anda telefonum hemen bana sordu! @julestruong teşekkürler!
Richard.Davenport

29

Sırayla:

    adb kill-server
  • DEVICE SETUP'ınızda geliştirici seçeneklerine gidin ve usb hata ayıklamayı devre dışı bırakın

  • USB hata ayıklama yetkilerini REVOKE düğmesine basın, Tamam'a tıklayın

  • usb hata ayıklamayı etkinleştir

    adb start-server
    

2
Ubuntu'da komutu root olarak çalıştırdım ve bu sorunumu çözdü. Su olmadan çalışamazdı (Ubuntu 18).
2018

20

Aşağıdaki dosyaları ~ / .android klasöründen kaldırdım :

  • adbkey
  • adbkey.pub

Cihazda ADB'yi devre dışı bıraktım ve etkinleştirdim ve şimdi çalışıyor ...


1
adbkeyDosyayı sadece gördüm, bu yüzden onu sildim ve harika çalıştı. Teşekkürler!
Reeshabh Ranjan

18

Geliştirici seçeneklerinde,

  1. Usb hata ayıklamasını etkinleştir.

görüntü açıklamasını buraya girin

  1. Bir yetki verin.

görüntü açıklamasını buraya girin

(Geliştirici seçeneği menüsü yoksa, geliştirici olmak için 3 kez Telefon Durumu oluştur menüsüne tıklamanız gerekir. Bir geliştirici seçenek menüsü kullanabilirsiniz.)

görüntü açıklamasını buraya girin


8

Mevcut reklam anahtarlarını silin

VEYA

Adbkey'leri yeniden adlandırın

En iyi uygulama, yedekleme sağladığı için anahtarları yeniden adlandırmaktır .

cd ~/.Android

mv adbkey adbkey2

mv adbkey.pub adbkey.pub2

Sonraki durdurun ve sunucuyu başlatın

cd ~/Android/Sdk/platform-tools

Cihazı bulun /Android/Sdk/platform-tools$ ./adb devices

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

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

Ardından, emülatörü durdurun AVD yöneticisini açın, aşağı oka tıklayın, ardından verileri sil'e tıklayın

Öykünücüyü yeniden başlatın. Sonra her şey yolunda gidiyor :)


5

Bunu deneyin, geliştirici seçeneklerinde "uygulamaları USB yoluyla doğrula" seçeneğinin işaretini kaldırın ve ardından "USB Hata Ayıklama" yı açın ve kapatın. Benimle çalışıyor.


Bu yöntem benim için çalıştı: "USB Hata Ayıklama" başlangıçta AÇIK durumdaydı, ardından "uygulamaları USB üzerinden doğrula" seçeneğinin işaretini kaldırıyorum ancak bu yardımcı olmuyor. "USB Hata Ayıklama" yı açtıktan sonra, işe yaradı!
Jackie Yeh

4

USB aracılığıyla PC'nize bağlandıktan sonra cihazın parmak izinin gösterilmesini isterken "tamam" düğmesine bastığınızı kabul ettiğinizden emin olun.


2
Acaba başka cevaplara oy verenlerin cihaz ekranını gerçekten kontrol edip etmediğini merak ediyorum…
Skippy le Grand Gourou

LOL Telefonuma baktığımda kendimi oldukça aptal hissettim
Jack St. Claire

4

Android stüdyosunda Run menu > RunşovlarOFFLINE ... bağlı cihaz için .

Bunu çözmek için izlenen prosedür aşağıdadır:

  1. (Önce aşağıdaki notu okuyun) Silin ~/.android/adbkey(veya, yeniden adlandırın ~/.android/adbkey2, herhangi bir nedenle geri istemeniz durumunda bu daha da iyidir)
    Not : Bu adımı ben yaptım, ancak tüm işlemleri yaptıktan sonra sorunu çözmedi. Adımların altında işe yaradı, bu nedenle bu adımın gerekli olup olmadığından emin değilsiniz.

  2. Çalıştır locate platform-tools/adb
    Not : buradan gelen yolu aşağıdaki komutlarda kullanın

  3. Adb sunucusunu öldür:
    sudo ~/Android/Sdk/platform-tools/adb kill-server

  4. Cihazınızda bir Allow accept..mesaj açılır penceresi alacaksınız . Kabul et. Bu önemlidir ve sorunu çözer.

  5. Adb sunucusunu başlat:
    sudo ~/Android/Sdk/platform-tools/adb start-server

  6. Android stüdyosunda, Run menu > Runtekrar yapın
    Bu, Samsung ...(telefonunuzun üretim adı) gibi bir şey gösterecektir .
    Ayrıca apk'yi bu sefer hatasız olarak cihaza doğru şekilde yükler.

Umarım yardımcı olur.


2
  1. İlk çıkarın adbkeyve adbkey.pubgelen .androidAna Rehberde.
  2. Marka .android710 izinlerine sahip evinizdeki dizini: $ chmod 710 .android/ve sahiplik olarak: chown -R <user>:<user> .android/. Ör:

    $ chmod 710 .android/
    $ chown -R ashan:ashan .android/
    
  3. Cep telefonunuzdaki geliştirici seçeneklerine gidin ve seçeneğe dokunun Revoke USB debugging authorizations

  4. Tümünü USB Debuggingve Developer Optionscihazı kapatın ve cihazı makinenizden ayırın.

  5. Cihazı tekrar bağlayın ve ilk önce Developer Options. Ardından USB debugging.

  6. Cep telefonunuzdaki bu noktada, sizden izin istemek için bir uyarı alacaksınız. Not: onay kutusu always accept from this ….seçeneğini işaretlemeli ve tamam'a tıklamalısınız.

  7. Şimdi makinede, adb sunucuyu başlatın: adb start-server.

  8. Umarım komutu verdiğinizde: adb devicesşimdi, cihazınızın yetkilendirilmiş olduğunu göreceksiniz.


2

Bu benim için çalıştı

1- Go to ~/.android/ and remove “adbkey”
2- Disconnect USB connection
3- adb kill-server
4- Revoke USB debugging authorizations (in developer option)
5- Reconnect the device to the Ma
6- adb devices

Bu benim için işe yarayan tek şeydi. Thanks :)
SimonEritsch

1

Ben de bu sorundan etkilendim. Nexus 5X'te özel AOSP yapımı kullanıyorum. Build / core / main.mk'ye tek bir satır ekledim:

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)

Şimdi adb shell çalışıyor

Bu malzemeler kullanışlıdır (Çince makaleler): http://www.voidcn.com/blog/kc58236582/article/p-6335996.html , http://blog.csdn.net/fanmengke_im/article/details/28389439



1

Bu sayfada listelenen yöntemlerin hiçbiri benim için işe yaramadı; özellikle:

  • USB hata ayıklama yetkilerini iptal et seçildiğinde Ayarlar uygulamasının kilitlenmesine neden olan bir sorun yaşadım
  • LineageOS 14 x86_64 çalıştırıyordum
  • ADB'yi ağ üzerinden kullanıyordum
  • /data/misc/adbHiçbir içeriyordu adb_keysdosyayı
  • Yerelimi kaldırıyorum ~/.android/adbkey da yardımcı olmadı
  • Yerel terminalden root erişimim vardı
  • Herhangi bir onay diyaloğu almıyordum
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 -

Sonunda, içeriğini manuel olarak içeriğin içine yerleştirmeyi öneren çok yararlı bir gönderi buldum burada~/.android/adbkey.pub/data/misc/adb/adb_keys dosyanın .

Bu iki yöntemden birini önerdiler:

  1. Başka bir çalışan cihazdan adb_keysdosyayı bilgisayarınıza kopyalayın :

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

    Ardından, çalışma adb_keysdosyasını sorunlu Android cihazın sd kartına (Web veya MTP kullanarak) olarak adlandırın ve adb_keysardından dosyayı doğru yola kopyalayın:

    # On the problematic device
    cp /sdcard/adb_keys /data/misc/adb/adb_keys
    
  2. Diğer yöntemdir basitçe makinenizin kopyalamak adbkey.pubgelen ~/.android/dizine ve olarak adlandırılan (Web veya MTP kullanarak) sorunlu Android cihazınızın sdcard koydu adb_keys, sonra doğru yoluna dosyayı kopyalamak:

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

    (Not: SO'da bu yöntem için daha fazla ayrıntıya giren benzer bir cevap var.)

Bilgisayarımda bir web sunucusu çalıştırdığım ve curlAndroid'e yüklediğim için su, terminalden çalıştım ve Android cihazımda aşağıdakileri çalıştırdım:

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

adbCini (kullanarak adb kill-server) ve BAM'ı öldürdü ! adbO baştan olmalıydı gibi kabuk, cezası çalıştı.

Umarım burada anlatılan yöntem benim için olduğu gibi sizin için de işe yarar.


1

Uygulamanız, zararlı bir program olarak tespit ediliyor. "USB üzerinden uygulamaları doğrula" seçeneğini kapatın. "USB hata ayıklama" ile aynı görünümdedir.


0

İhtiyacınız olan tek şey hata ayıklama modunu yetkilendirmektir.
1. Cihazınızın PC'nize bağlı olduğundan emin olun.
2.
Çalıştır -> Hata ayıklayıcıyı Android işlemine ekle'ye giderek Android-Studio üzerinden hata ayıklama moduna izin verin,
daha sonra Cihazınızda hata ayıklama moduna izin verme açılır penceresini göreceksiniz,
Tamam'a basın. bitti.
Umarım birine yardımcı olur.


0

Android stüdyomu yeniden yükledikten sonra aynı sorunu yaşadım. İşte adb'imin tekrar çalışmasını sağlamak için yaptığım şey:

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

0

Bununla daha sonra karşılaşan herkes için bu da yardımcı olabilir. Bir kullanıcı komut isteminden adb kullanmaya çalışırken tam olarak bu sorunla karşılaştım ve yukarıdaki yanıtlar yardımcı olmadı, ancak sorun bir yönetici komut isteminde çalışırken bir "adb kill sunucusu" ile ortadan kalktı.


0

Bu benim için çalıştı:

rm ~ / .android / adbkey.pub

sudo ./adb öldürme sunucusu

sudo ./adb başlangıç ​​sunucusu

sudo ./adb -s emülatörü-5554 install ~ / apk_to_install.apk

Sudo ayrıcalıklarıyla adb çalıştırmanın iyi bir fikir olup olmadığından emin değilim, ancak çalışmasını sağlamamın tek yolu buydu. Saygılarımızla.


0

Root olmayan bir kullanıcı olarak özel kurtarmaya (Philz) bağlanmaya çalışırken izin hataları alıyorken bunu root olarak aldım. bu yüzden adb sunucusunu kapattım, kullanıcı hesabımın .android alt dizinini / root'a kopyaladım, -R'yi root.root'a chowned ve adb sunucusunu yeniden başlattım. Varım!


-1

Akıllı telefonunuzda Cihaz Üzerinde Geliştirici Seçeneklerini etkinleştirmişsinizdir sanırım? Değilse, Android tarafından sağlanan adımlara göz atabilirsiniz, http://developer.android.com/tools/device.html#developer-device-options


Evet yaptım ve ayrıca kapatıp açtım.
julestruong

bu bağlantıya göre ( code.google.com/p/android/issues/detail?id=175077 ), "platform araçları 23 rc1" de bu sorun var gibi görünüyor. Platform aracı sürümlerini "$ adb version" cmd ile bulabilirsiniz. Bağlantı, derleme araçları sürüm 22'ye geri dönmenin sorunu çözdüğünü söylüyor.
Dhunju_likes_to_26


-1

FIRE STICK 4K için aslında iletişim kutusunda şöyle diyor:

Aksi takdirde, cihazınızda bir onay iletişim kutusunu kontrol edin

Nitekim diğer odadaki televizyonda bir onaylama diyaloğu vardı. Doh '!


1
Belki bu soruya bir yan yorum olabilir, ancak soru farklı tipte bir cihazla ilgili olduğundan bu bir cevap değildir.
Jairo

-2

Bu problemi yaşadım ve herhangi bir anahtarın silinmesiyle çözülmedi (en azından onları silmek düzeltmedi, belki de düzelttikten sonra bir etkisi oldu)

Aslında sdk-tools sürümüm ile Android Studio sürümüm arasında bir tutarsızlık vardı. Araçlarımı güncelledikten sonra hala çalışmadı, ancak AS'yi (1.4'e) güncelledikten sonra her şey tekrar iyi çalıştı.

Her zaman hem sdk araçlarını hem de AS sürümünü birlikte güncelleyin;)

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.