Невозможно запустить XAMARIN UI TEST для xamarin.forms, ошибка System.Exception

Я хочу запустить тест пользовательского интерфейса Xamarin, но когда я запускаю тест, у меня появляется эта ошибка:

System.Exception : 'The running adb server is incompatible with the Android SDK version in use by UITest: 
C:\Program Files (x86)\Android\android-sdk

моя стартовая командная строка: return ConfigureApp.Android.ApkFile("/Users/Jerem/source/repos/App4/App4/App4.Android/bin/Debug/com.companyname.App4-Signed.apk").StartApp();

Спасибо за нашу помощь

1 ответ

Если у вас есть та же ошибка, проверьте в нашем каталоге sdk, если у вас есть platform-tools и platform-tools.oldxxxx, удалите старый! Просто работа после

Ответ Y Накамуры подтолкнул меня в правильном направлении, но мне все еще требовалось много времени, чтобы решить, потому что я не был уверен, что именно я пытался решить. Я собираюсь расширить здесь ответ на случай, если другие столкнутся с теми же проблемами, что и я.

Как уже упоминалось, проблема, кажется, вызвана файлами (не уверен, что это adb.exe или другие файлы) внутри инструментов платформы, которые не поддерживаются Xamarin.UITest. Инструменты платформы можно найти в C:\Program Files (x86)\Android\android-sdk

У меня была папка platform-tools, плюс две дополнительные папки с суффиксами old12341234 (цифры не имели для меня никакого смысла).

Чтобы выяснить, какая версия adb.exe находится в каждой папке:

  1. Откройте одну из папок
  2. Удерживайте shift и щелкните правой кнопкой мыши в окне проводника Windows, чтобы увидеть опцию Open PowerShell window here
  3. В PowerShell выполните команду ./adb.exe version чтобы увидеть номер версии вы бежите

В моем случае слишком новой версией была версия 1.0.40. Я нашел папку, которая была 1.0.39. Я переименовал папку platform-tools, которая была слишком новой для platform-toolsTooNew. Затем я переименовал папку, содержащую adb.exe v 1.0.39, на инструменты платформы, а затем перезапустил Visual Studio.

После всего этого мои автоматизированные тесты снова сработали!

Платформа Android SDK-Tools 28.0.0 (40) слишком нова. Попробуйте восстановить 27.0.1 (39). Открыть папку %ANDROID_HOME%, Если папки platform-tools а также platform-tools.oldxxxx появляется, переименуйте их, чтобы восстановить старую версию.

Другие вопросы по тегам