web-dev-qa-db-fra.com

Comment résoudre un périphérique ADB non autorisé dans un périphérique Android ADB Host?

Lorsque j'utilise un appareil Android root en tant qu'hôte ADB pour envoyer la commande adb "Adb devices" à Samsung S4, j'ai reçu un message d'erreur non autorisé sur l'appareil. Cependant, lorsque j'ai essayé d'adb sur le Samsung Galaxy Nexus, cela fonctionne bien. Quelqu'un peut-il conseiller comment résoudre mon problème Samsung S4?

=========================================
# adb devices
List of devices attached
4d00f9169907301b        unauthorized
=========================================

Merci d'avance.

Edit: Nous avons constaté que ce problème ne concernait que Android 4.2.2 et les versions ultérieures. Le lien suivant explique que Google a implémenté de nouvelles fonctionnalités de sécurité pour l'utilisation de adb.

http://nelenkov.blogspot.com/2013/02/secure-usb-debugging-in-Android-422.html

Appréciez si quelqu'un peut aider à ce sujet.

38
Kong Ken
  • Obtenir la clé publique du téléphone client (hôte adb)

    cat /data/.Android/adbkey.pub

  • copiez la clé publique ci-dessus dans l'emplacement /data/misc/adb/adb_keys du téléphone cible. (vous devrez peut-être arrêter le démon adb d'abord avec stop adbd)

    cat/data/misc/adb/adb_keys

vérifie que les deux sorties cat correspondent.

essayez de redémarrer le démon adb sur la cible start adbd ou redémarrez-les simplement.

Si vous rencontrez des problèmes pour lire ou écrire sur ADB KEYS dans les étapes ci-dessus, essayez de définir la variable d'environnement ADB_KEYS_PATH avec un chemin temporaire (par exemple: /data/local/tmp). Reportez-vous à ce lien dans lequel il va

    "On the Host, the user public/private key pair is automatically generated,
    if it does not exist, when the adb daemon starts and is stored in
    $HOME/.Android/adb_key(.pub) or in $Android_SDK_HOME on windows. If needed,
    the ADB_KEYS_PATH env variable may be set to a :-separated (; under
    Windows) list of private keys, e.g. company-wide or vendor keys.

    On the device, vendors public keys are installed at build time in
    /adb_keys. User-installed keys are stored in /data/misc/adb/adb_keys"
45
ashoke

Cochez et décochez l'option de débogage USB dans le périphérique . Si cela ne fonctionne pas, débranchez et branchez le périphérique USB plusieurs fois.

À un moment donné, l'appareil devrait afficher une boîte de message vous demandant d'autoriser l'ordinateur. Cliquez sur Oui, puis l'appareil sera autorisé.

34
Prasanth Louis

Si quelqu'un a le même problème d'avoir un téléphone avec un écran fissuré et a besoin d'accéder à adb:

  1. Racine ton téléphone (le mien était déjà enraciné, donc j'en ai été béni au moins).

Si vous avez oublié d'activer le mode développeurs et que votre annonce n'est pas en cours d'exécution, procédez comme suit:

  1. Redémarrez votre téléphone en cours de récupération.
  2. Connectez le téléphone avec un câble.
  3. Terminal ouvert.
  4. Si vous tapez adb devices, vous devriez voir le périphérique dans la liste.
  5. Si oui, tapez:

    adb Shell mount /system
    abd Shell
    
    echo "persist.service.adb.enable=1" >> default.prop 
    echo "persist.service.debuggable=1" >> default.prop
    echo "persist.sys.usb.config=mtp,adb" >> default.prop
    echo "persist.service.adb.enable=1" >> /system/build.prop 
    echo "persist.service.debuggable=1" >> /system/build.prop
    echo "persist.sys.usb.config=mtp,adb" >> /system/build.prop
    

Maintenant, si vous allez redémarrer votre téléphone, Android vous dira "Oh, votre annonce fonctionne, mais s'il vous plaît appuyez sur ce bouton OK, afin que nous puissions faire confiance à votre PC". Et évidemment, si nous ne pouvons pas appuyer sur le téléphone, restez en mode de récupération et procédez comme suit (en supposant que vous n'êtes pas en mode shell adb, si c'est le cas, tapez d'abord exit):

cd ~/.Android
adb Push adbkey.pub /data/misc/adb/adb_keys
  1. Hourra, tout cela devrait être beau maintenant! Il suffit de redémarrer le téléphone et vous devriez pouvoir accéder à adb quand le téléphone est en marche:

    redémarrage du shell adb

P.S. Utilisait OS X et Moto X Style avec l’écran fissuré.

14
kiradotee

As-tu essayé

adb kill-server
adb Shell

Parfois, adb se bloque et tue le premier serveur adb, puis le lancement d’une commande force la fenêtre d’autorisation à apparaître.

Vérifiez également la version du client adb sur votre téléphone . Cette fonctionnalité est prise en charge à partir de adb 1.0.31 pour autant que je m'en souvienne.

6
Tomasz Szuba

Expérience avec: ASUS ZENFONE

Si vous avez rencontré le pilote manquant pour Asus Zenfones Suivez ce lien ( http://donandroid.com/how-to-install-adb-interface-drivers-windows-7-xp-Vista -623 )

J'ai essayé avec 

1) Tuer et démarrer un serveur adb à adb cmd.

2) Activer et désactiver le débogage USB ...

C'est ce qui a fonctionné avec moi.

Étape 1: Supprimez la connexion avec le périphérique et fermez Eclipse

Étape 2: naviguez vers C: /Users/Nom_utilisateur/.Android/

Étape 3: vous trouverez adb_key

Étape 4: Supprimez-le simplement.

Étape 5 .Connectez-vous à nouveau et le système vous le demandera à nouveau.

Étape 6 .Demandez au périphérique de se souvenir de la clé RSA lorsqu'il vous le demande. Je pense que c'est fait.

Si vous rencontrez le même problème après quelques jours, désactivez et activez le débogage USB. 

3
Karthik Sagar

Vous devez autoriser Allow USB debugging lorsque la fenêtre contextuelle s'affiche lorsque vous vous connectez pour la première fois à l'ordinateur!

1
Tan Dat

Pour moi, les services Google Play ne pourraient pas être activés sur l'émulateur. Il peut s'agir d’API Google ou de x86 ou x64, mais pas de google play store.

1
valdetero

Supprimez le dossier .Android de C:/users/<user name>/.Android. Cela a résolu le problème pour moi.

0
abhishek singh

Essayez ces étapes:

  1. débrancher le périphérique
  2. adb kill-server
  3. serveur de démarrage adb
  4. dispositif de prise

Vous devez autoriser le débogage USB dans votre appareil lorsque vous ouvrez une fenêtre.

0
Mritunjay Upadhyay

Vous devez être invité sur votre écran s4 pour autoriser cet ordinateur. Vous pouvez lui dire de s'en souvenir. Ceci est pour des raisons de sécurité, survenant dans Android 4.4+

0
webo80

J'ai trouvé une solution avec Nexus 5 et TWRP installé. Au fond, le format était la seule solution que j'ai trouvée et j'ai essayé toutes les solutions énumérées précédemment: ADB Android Device Unauthorized

Demandez à Google de faire une sauvegarde de vos applications. Enregistrez tous les fichiers importants que vous pouvez avoir sur votre téléphone

Veuillez noter que je décline toute responsabilité en cas d'échec car ce que j'ai fait était assez risqué mais a fonctionné dans mon cas:

Activer le débogage USB dans l'option développeur (ne pas savoir si cela a aidé car le périphérique était non autorisé mais quand même ...)

Assurez-vous que votre téléphone est connecté à l'ordinateur et que vous pouvez accéder au stockage.

Téléchargez Google img de votre lien: https://developers.google.com/Android/nexus/images Unrar vos fichiers et les place dans un nouveau dossier sur votre ordinateur, nommez-le à l'usine (tout nom faire).

effacer TOUTES les données ... vous aurez 0 fichier dans votre Android accessible depuis un ordinateur.

Puis redémarrez en mode BOOTLOADER ... le message "vous n’avez pas de système d’exploitation installé, êtes-vous sûr de vouloir redémarrer?"

Puis exécutez (double-cliquez) le fichier .bat dans le dossier "factory".

Vous verrez l'installation détaillée en ligne de commande du système d'exploitation. Évitez bien sûr de débrancher le câble pendant cette phase ...

Le téléphone prend environ 5 minutes pour s’initialiser.

0
Antonin GAVREL

Pour des raisons inconnues, je n'avais que ~/.Android/adbkey, mais pas ~/.Android/adbkey.pub.

J'imagine que adb était incapable de transmettre la clé publique au périphérique. Le périphérique ne pouvait donc jamais afficher la boîte de dialogue d'autorisation.

Après avoir supprimé le serveur adb, supprimé le fichier adbkey et redémarrez adb, la boîte de dialogue d’autorisation s’affiche sur le téléphone.

0
cweiske

Je devais cocher la case du débogueur sur le téléphone "autoriser toujours sur ce téléphone". J'ai ensuite fait un périphérique adb, puis entré dans la commande adb pour effacer les ajoute. Cela a bien fonctionné. Avant cela, il ne reconnaissait pas les commandes pm et autres 

0
Bengal1946