Nous effectuons des tests d'automatisation sur des appareils mobiles avec Appium, mais les tests échouent à cause de la fenêtre contextuelle " Allow USB debugging " (autoriser le débogage USB), bien que l'appareil soit déjà connecté via " adb connect " et " adb devices ". J'ai déjà coché l'option "Toujours autoriser à partir de cet ordinateur", mais parfois le popup apparaît, ce qui entraîne l'échec du test, et parfois il passe sans s'afficher. Quelqu'un peut-il m'éclairer sur la façon de résoudre ce problème ?
Réponses
Trop de publicités?Changez le câble USB
La solution que je propose n'est pas générale, mais peut fonctionner dans certains cas particuliers.
Voici mon histoire : Une fois, j'ai utilisé un vieux câble USB pour connecter mes 10 smartphones à mon ordinateur. Cela a bien fonctionné pour 9 téléphones, sauf pour 1 téléphone où le message "Allow USB debugging" n'arrêtait pas de s'afficher. J'ai alors changé pour un câble USB plus récent, et le problème a disparu.
Dans mon cas, on me demandait continuellement de choisir une empreinte digitale. J'ai révoqué toutes les autorisations de débogage et la prochaine fois que la boîte de dialogue est apparue, j'ai remarqué que l'empreinte digitale avait changé. Jusqu'à présent, je n'ai pas été invité à nouveau.
Donc : essayez de révoquer toutes les autorisations de débogage, puis autorisez à nouveau le débogage USB.
Une possibilité pour ce problème peut se situer du côté du PC : Il se peut que vous exécutiez plusieurs démons adb avec des clés privées différentes. La clé privée est utilisée pour identifier le " cet ordinateur ".
Les fichiers pertinents qui contiennent l'identification cryptographique sont les suivants adbkey
y adbkey.pub
situé dans le dossier .android
dans le répertoire personnel de l'utilisateur :
- Les fenêtres :
C:\users\%username%\.android\
- Linux :
~/.android/
Assurez-vous que ces deux fichiers ne changent pas. Un autre logiciel peut écraser ces fichiers.
Une autre possibilité serait un problème du côté du périphérique, par exemple le serveur adb se plante et perd les données sur les ordinateurs précédemment autorisés. Ou bien il peut s'agir d'un bogue dans adb qui fait échouer l'identification de l'ordinateur.