Android adb no permission

33

J'essaie d'utiliser adb à partir d'une machine Ubuntu (+ Cinnamon). Le problème est que je reçois le message suivant des périphériques adb :

List of devices attached
TA8830OIVO  no permissions

Où TA8830OIVO est mon appareil Motorola G.

J'ai changé les règles Android dans /etc/udev/rules.d/51-android.rules

SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", ATTR{idProduct}=="2e76",
MODE="0666", GROUP="plugdev", SYMLINK+="android_adb", OWNER="axel"

J'ai également redémarré le service udev et l'installation d'Adb sur mon ordinateur portable personnel. Je suis le seul utilisateur à disposer de tous les privilèges nécessaires (groupe plugdev, etc.).

Existe-t-il un moyen d'exécuter adb sans invoquer sudo ?

shadox
la source
1
Redémarrer udev et sudo udevadm triggern'a pas fonctionné pour moi. J'ai dû redémarrer l'ordinateur et tout a bien fonctionné
Rafael Xavier

Réponses:

65

Changez le mode USB de votre téléphone en Transfert de fichier. C'est ce qui a fonctionné pour moi.

NuttLoose
la source
Le contraire est vrai pour moi: le débogage USB ne fonctionne pas en mode de transfert de fichier sur certains anciens appareils.
Miha_x64
1
Mise à jour: je viens de remarquer que, dans mon téléphone (Android), le débogage USB peut également être activé en mode de chargement dans les paramètres du développeur.
NuttLoose
2
Passer en mode de transfert de fichiers a fonctionné pour moi. Sur Android 7
Abrar
Kindle Fire 8 2019 - "Mode MTP" qui est en configuration USB dans les options de développement.
Bill McGonigle le
J'ai changé, puis on m'a demandé sur le périphérique d'autoriser le débogage USB: D
Maxwell sc
27
  1. N'oubliez pas de courir sudo udevadm triggerpour que les modifications soient appliquées (ou redémarrez, mais où est le plaisir là-dedans).
  2. Au lieu d'écrire vos propres règles, utilisez https://github.com/M0Rf30/android-udev-rules
  3. Assurez-vous de disposer de la dernière version d'ADB (1.0.35 102d0d1e73de-android). Les versions précédentes ne fonctionnaient pas avec USB-C pour moi.
zamber
la source
Merci mais c'est une question un peu ancienne. Je suis passé sur Mac il y a 2 ans. Je trouve stupide de faire des choses comme lsusb puis de modifier les règles lorsque cela devrait être fait automatiquement ... J'ai abandonné après tant d'années d'utilisation d'ubuntu. Impossible de trouver un système Linux Desktop décent.
shadox
1
La question a 6 mois et reste valable pour la postérité. Il y a un an, j'ai abandonné OS X après une affaire de 3 ans et suis retourné sous Linux pour des raisons similaires; Linux est frustrant dans certaines parties, mais OS X nécessite un peu plus de bricolage si vous utilisez homebrew + zsh + iTerm2. La différence est que si les versions de FOSS à code source fermé ou obsolètes sont principalement des versions obsolètes mais avec une interface graphique et une interface utilisateur agréables (pour la plupart). L'utilisation des règles du référentiel en fait une étape de configuration unique. Considérant que l'arcane de faire en sorte que le SDK Android fonctionne de manière saine, c'est un jeu d'enfant.
Samber
1
Courir ça et ça service udev restartn'a pas marché pour moi. Je devais redémarrer l'ordinateur, puis tout fonctionnait bien.
Rafael Xavier
Sous Ubuntu 16.04, définissez les règles udev, modifier le mode USB sur un téléphone pour transférer des fichiers s’est passé comme par enchantement. Aucun redémarrage nécessaire.
Gautam
Sur ubuntu 16.04 avec un pixel 2, l’ajout des règles du gitbub du point 2 fonctionne sans même passer en mode de transfert de fichiers.
Mike Hanafey
3

Si vous redémarrez le serveur ADB avec sudo, cela fonctionnera.

sudo adb kill-server
sudo adb start-server
Mukesh Bharsakle
la source
0

Définir une fonction de gradation personnalisée:

task _adb_restart {
def adb = android.getAdbExe().toString()
group '__custom'
  doLast {
    exec {
      commandLine 'bash', '-c', '/bin/echo **root_password** | sudo -S ' + adb + ' kill-server'
    }
    exec {
      commandLine 'bash', '-c', '/bin/echo **root_password** | sudo -S ' + adb + ' devices'
    }
  }
}
utilisateur909720
la source
0

La meilleure solution et ce qui a le mieux fonctionné pour moi est d'installer à adbpartir d'un paquet Ubuntu. Cela vous donne un ensemble de udevrègles par défaut géré par la communauté pour tous les appareils Android.

Exemple:

$ sudo apt-get install adb
albaryonique
la source
0

Pour Amazon Fire OS 8, un système d'exploitation Android, vous pouvez accéder à "Paramètres> Options du périphérique> Options du développeur". Vous devrez peut-être l' activer .

Assurez-vous que le "débogage USB" est activé (dans votre cas, il l’est).

Ensuite, allez dans "Réseau> Sélectionner une configuration USB". Choisissez "MTP (Media Transfer Protocol)". Cela permet à l'ordinateur d'envoyer des fichiers dans les deux sens.

Johnathan J.
la source
0

supprimer le paquet adb installé via apt

$sudo apt remove adb

téléchargez le dernier adb à l'
adresse https://developer.android.com/studio/releases/platform-tools

définir le chemin d'accès aux outils de la plateforme (il est préférable de mettre ces deux lignes dans le fichier ~ / .bashrc)

export PATH= /<path-to-android-sdk-folder>/android-sdk/tools/bin<br>
export PATH= /<path-to-android-sdk-folder>/android-sdk/platform-tools

courir

$source ~/.bashrc

vérifier le chemin adb

$which adb

démarrer adb in sudo (j'avais besoin de donner un chemin absolu à adb lors de l'exécution en sudo)

$sudo /<path-to-android-sdk-folder>/android-sdk/platform-tools/adb kill-server
$sudo /<path-to-android-sdk-folder>/android-sdk/platform-tools/adb start-server
$adb shell

TERMINÉ.
cela fonctionne quel que soit le mode USB (MIDI, transfert de fichiers, chargement) du téléphone Android. Cela fonctionne en tout.

utilisateur1436887
la source