Je veux exécuter le test d'interface utilisateur de Xamarin, mais lorsque j'exécute le test, j'ai cette erreur:
System.Exception : 'The running adb server is incompatible with the Android SDK version in use by UITest:
C:\Program Files (x86)\Android\android-sdk
ma ligne de commande de démarrage: _return ConfigureApp.Android.ApkFile("/Users/Jerem/source/repos/App4/App4/App4.Android/bin/Debug/com.companyname.App4-Signed.apk").StartApp();
_
Merci pour notre aide
Si vous avez la même erreur, vérifiez dans notre répertoire sdk si vous avez platform-tools et platform-tools.oldxxxx, supprimez l'ancien! Travaille juste après
La réponse de Y Nakamura m'a fait avancer dans la bonne direction mais il m'a quand même fallu beaucoup de temps pour résoudre car je n'étais pas sûr de ce que j'essayais de résoudre. Je vais développer la réponse ici au cas où d'autres rencontreraient les mêmes problèmes que moi.
Comme mentionné, le problème semble être causé par les fichiers (pas sûr que ce soit adb.exe ou d'autres fichiers) à l'intérieur des outils de plateforme non pris en charge par Xamarin.UITest. les outils de plate-forme se trouvent dans C:\Program Files (x86)\Android\android-sdk
J'avais dossier platform-tools , plus deux dossiers supplémentaires avec old12341234 suffixes (les chiffres n'avaient aucun sens pour moi).
Pour déterminer quelle version d'adb.exe se trouve dans chaque dossier:
./adb.exe version
pour voir le numéro de version que vous utilisez Dans mon cas, la version trop nouvelle était 1.0.40 . J'ai trouvé un dossier qui avait 1.0.39 . J'ai renommé le dossier platform-tools qui était trop nouveau pour platform-toolsTooNew . J'ai ensuite renommé le dossier contenant adb.exe v 1.0.39 en platform-tools , puis j'ai redémarré Visual Studio.
Après avoir fait tout cela, mes tests automatisés ont encore une fois fonctionné!
Android SDK Platform-Tools 28.0.0 (40) est trop nouveau. Essayez de restaurer 27.0.1 (39). Dossier ouvert %Android_HOME%
. Si les dossiers platform-tools
et platform-tools.oldxxxx
apparaît, renommez-les pour restaurer l'ancienne version.