无法在 xamarin.forms 上运行 XAMARIN UI TEST,错误 System.Exception
Posted
技术标签:
【中文标题】无法在 xamarin.forms 上运行 XAMARIN UI TEST,错误 System.Exception【英文标题】:Cannot run XAMARIN UI TEST on xamarin.forms, error System.Exception 【发布时间】:2018-09-10 09:34:47 【问题描述】:我想运行 Xamarin UI 测试,但是当我运行测试时出现此错误:
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();
感谢我们的帮助
【问题讨论】:
你用的是什么安卓SDK?? @Woj 我使用 SDK 27 Xamarin.UITest 怎么样? 上一个版本,2.25..对于nunit包,我没碰过,基本的放了 我找到了 platform-tools.old****,我删除了这个 【参考方案1】:如果你有同样的错误,请检查我们的sdk目录如果你有platform-tools和platform-tools.oldxxxx,删除旧的!干完活
【讨论】:
我不得不恢复到 .old 并删除较新的版本。【参考方案2】:Y Nakamura 的回答让我朝着正确的方向前进,但我仍然需要很长时间才能解决,因为我不确定我到底要解决什么问题。我将在这里扩展答案,以防其他人遇到与我相同的问题。
如前所述,问题似乎是由 Xamarin.UITest 不支持的平台工具中的文件(不确定是 adb.exe 还是其他文件)引起的。 platform-tools 可以在 C:\Program Files (x86)\Android\android-sdk
中找到我有 platform-tools 文件夹,以及另外两个带有 old12341234 后缀的文件夹(这些数字对我来说没有任何意义)。
要找出每个文件夹中的 adb.exe 版本:
-
打开其中一个文件夹
在 Windows 资源管理器窗口中按住 shift 并右键单击以查看在此处打开 PowerShell 窗口选项
在 PowerShell 中,运行命令
./adb.exe version
以查看您正在运行的版本号
就我而言,太新的版本是 1.0.40。我找到了一个包含 1.0.39 的文件夹。我重命名了对 platform-toolsTooNew 来说太新的 platform-tools 文件夹。然后我将包含 adb.exe v 1.0.39 的文件夹重命名为 platform-tools,然后重新启动 Visual Studio。
做完所有这些之后,我的自动化测试又一次成功了!
2020 年 11 月更新
我能够使用更新版本的 ADB 运行,但我不得不从我的 android-sdk 文件夹中删除 old 文件夹。我正在使用:
ADB 版本 1.0.41 Visual Studio 16.6.5 Xamarin 16.6.000.1064 Xamarin.Android SDK 10.3.1.4我会保留我原来的帖子,以防它帮助其他人。
【讨论】:
版本实际上是 1.0.40 和 1.0.39 而不是 1.40 和 1.39。 谢谢,我修好了。 希望 Xamarin.UITools 能告诉我们它到底想要哪一个【参考方案3】:Android SDK Platform-Tools 28.0.0 (40) 太新了。尝试恢复 27.0.1 (39)。打开文件夹%ANDROID_HOME%
。如果出现platform-tools
和platform-tools.oldxxxx
文件夹,重命名恢复旧版本。
【讨论】:
以上是关于无法在 xamarin.forms 上运行 XAMARIN UI TEST,错误 System.Exception的主要内容,如果未能解决你的问题,请参考以下文章
Xamarin.Forms App MediaRecorder 无法在佳宇 S3 上运行