Erreur "Autorisations insuffisantes" sur la commande "adb push" le 12.04

49

Quand j'ai essayé de pousser mon fichier apk dans une tablette, j'ai eu cette erreur, aidez-moi s'il vous plaît.

adb server is out of date.  killing... 
* daemon started successfully * 
error: insufficient permissions for device.

Merci d'avance pour l'aide.

    
posée Neha Sharad Umachigi 24.01.2013 - 06:39
la source

10 réponses

16

J'ai déjà vu cette même erreur sur Ubuntu. Une solution de contournement pour cela consiste à exécuter adb avec la commande sudo . Par exemple, si vous poussez app.apk sur sdcard, la commande serait

sudo adb push app.apk /mnt/sdcard

Assurez-vous également que vous avez sélectionné le mode "Débogage USB" dans les paramètres de l'application (dans GingerBread) ou dans la section Développement (dans IceCream Sandwich et au-dessus). Si adb est déjà en cours d'exécution, vous devez d'abord le tuer avec la commande sudo adb kill-server

J'espère que cela aidera.

    
réponse donnée Anwar 24.01.2013 - 08:35
la source
52

J'ai rencontré ce même problème. Ajouter une règle udev comme indiqué ici a fait l'affaire:

Connectez-vous en tant que root, créez un fichier /etc/udev/rules.d/51-android.rules et ajoutez une ligne comme celle-ci pour accorder des autorisations à toute personne du groupe plugdev :

SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666", GROUP="plugdev"

Dans cet exemple, l’ID du fournisseur est HTC. Vous devez utiliser l'ID du fournisseur pour votre appareil, qui peut être obtenu en exécutant lsusb et en recherchant une ligne telle que

.
Bus 002 Device 009: ID 2a47:9e18

Dans cet exemple, l'ID de votre fournisseur serait 2a47 . Vous devrez donc remplacer 0bb4 par 2a47 . La ligne correcte se lirait ainsi:

SUBSYSTEM=="usb", ATTR{idVendor}=="2a47", MODE="0666", GROUP="plugdev"

Maintenant, attribuez des autorisations de lecture sur les fichiers, rechargez udev et rechargez le démon adb:

sudo chmod a+r /etc/udev/rules.d/51-android.rules
sudo udevadm control --reload-rules
adb kill-server
adb start-server

Vous devrez peut-être déconnecter et reconnecter votre appareil au port USB.

    
réponse donnée erjoalgo 23.09.2013 - 20:39
la source
15

La réponse de Jorch914 sur StackOverflow a résolu ce problème pour moi:

  

Ok Donc, j'ai finalement trouvé le problème, apparemment sur cet appareil, vous devez définir pour vous connecter en tant que caméra (même après le débogage USB est déjà activé)

     

     

Par ailleurs, ce lien décrit le processus de configuration

    
réponse donnée kas 20.11.2016 - 02:13
la source
11

Ces deux commandes simples ont résolu le problème pour moi:

adb kill-server
adb start-server

Notez que contrairement à la réponse de semi-newbie , je n'ai pas besoin de sudo .

    
réponse donnée Nicolas Raoul 02.10.2014 - 10:47
la source
10

Je viens de parcourir le même problème mais voici comment j'ai pu le parcourir:

  • vous devez tuer le serveur adb existant en lançant la commande suivante: adb kill-server (cela peut être faux, mais je l'ai émis avec AND sans sudo
  • lancez le serveur adb avec les autorisations appropriées en émettant: sudo adb start-server
  • voila. vous savez peut-être émettre les commandes dont vous avez besoin

Vous ne savez pas si vous savez, mais il existe un package qui inclut adb. Je mentionne cela parce que j'ai remarqué que vous obtenez une référence à une ancienne version de adb. Vous pouvez installer en émettant ce qui suit dans votre ligne de commande: sudo apt-get install android-tools-adb

J'espère que cela aide.

    
réponse donnée semi-newbie 23.09.2013 - 22:04
la source
2

Aujourd'hui, j'ai rencontré l'erreur insufficient permissions for device , même si adb fonctionnait comme prévu quelques minutes auparavant. Maintenant je reçois:

$ adb devices
List of devices attached 
????????????    no permissions

$ adb shell
error: insufficient permissions for device

Peu de temps avant de rencontrer l'erreur, j'avais désactivé Media device (MTP) , car je pensais que je n'aurais pas besoin d'utiliser MTP . Cependant, il semble que le débogage USB, ou au moins certaines commandes adb , nécessitent que Media device (MTP) soit activé.

Pour activer Media device (MTP) sur Android 4.4, accédez à:

Settings
Storage
The "..." menu (in the upper right corner)
USB computer connection
Media device (MTP)

Lorsque MTP est désactivé, lsusb affiche les informations suivantes:

Bus 002 Device 071: ID [idVendor1]:[idProduct1] Google Inc.

Après avoir activé MTP , lsusb affiche les informations suivantes:

Bus 002 Device 072: ID [idVendor2]:[idProduct2] [idVendor string]

idVendor et idProduct changent selon que MTP est activé ou désactivé.

Je ne suis pas un expert Android, il est donc possible que le comportement ci-dessus soit spécifique à mon modèle de téléphone particulier.

    
réponse donnée mpb 16.11.2016 - 00:32
la source
0

Cela pourrait provenir d’une autre raison. Je viens d'obtenir cette erreur en essayant d'installer un fichier apk sur l'appareil:

$ adb install platforms/android/build/outputs/apk/android-armv7-release.apk 
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
error: insufficient permissions for device
- waiting for device -

Cela s’est produit car l’appareil n’était pas prêt sur le mode correct. L'appareil partageait sa connexion 4G via USB.

On peut savoir comme ça:

$ adb devices -l
List of devices attached
* daemon not running. starting it now on port 5037 *
* daemon started successfully *

33332EF19F3D00EC       no permissions usb:1-1.2

Il suffisait donc de désactiver le partage de connexion sur le téléphone et de recommencer.

En général, assurez-vous d’obtenir le résultat suivant via la commande adb device avant d’essayer de pousser des fichiers sur le périphérique

$ adb devices -l
List of devices attached
33332EF19F3D00EC       device usb:1-1.2

Dans ces cas, pas besoin de tuer ou de redémarrer le serveur adb.

Ce serait probablement la même situation si vous montiez l’appareil pour le transfert de données via USB

    
réponse donnée Rémi B. 17.11.2015 - 22:38
la source
0

J'ai eu le même problème et j'ai reçu des autorisations insuffisantes. Ce que j'ai fait a été de révoquer les autorisations USB pour mon ordinateur portable. Puis arrêté et débogage USB. Reconnecté dans l'ordinateur portable et a accordé des autorisations de débogage USB.

    
réponse donnée Les Labbauf 18.11.2016 - 00:59
la source
0

J'ai le même problème et j'ai résolu ce problème en Ajouter le chemin de your_android_sdk_path à la variable d'environnement comme

sudo export $PATH:/your_android_sdk_path/platform-tools/adb

vous souhaitez que vous souhaitiez ajouter ceci à votre compte ou à l’ensemble du système en modifiant ces fichiers ~/.bashrc file ou ~/.profile ou /etc/profile, /etc/bash.bashrc, or /etc/environment si vous souhaitez ajouter un accès à l'ensemble du système.

puis créez le lien de celui-ci dans bin

sudo ln -s /your_android_sdk_path/platform-tools/adb /bin/adb

si vous avez utilisé des périphériques adb ou toute autre commande, commencez par tuer le serveur comme

adb kill-server

puis démarrez le serveur comme

adb start-server
adb devices

maintenant, vous pouvez voir que vos appareils sont listés correctement sans problème

    
réponse donnée Naval Kishor Jha 04.07.2017 - 07:20
la source
0

La réponse à ce problème est la suivante: lien

En tant que développeur Android, je vous suggère de ne pas utiliser "sudo" pour forcer l'utilisation de adb n'importe où. Ce n'est pas ce que nous devrions faire. Les règles, les politiques et les restrictions sont là pour notre propre sécurité.

    
réponse donnée Pavlos Theodorou 15.04.2018 - 10:06
la source

Lire d'autres questions sur les étiquettes