无法 运行 XAMARIN UI 在 xamarin.forms 上进行测试,错误 System.Exception
Cannot run XAMARIN UI TEST on xamarin.forms, error System.Exception
我想 运行 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();
感谢我们的帮助
Android SDK Platform-Tools 28.0.0 (40) 太新了。尝试恢复 27.0.1 (39)。打开文件夹 %ANDROID_HOME%
。如果文件夹 platform-tools
和 platform-tools.oldxxxx
出现,重命名它们以恢复旧版本。
如果出现同样的错误,查看我们的sdk目录是否有platform-tools和platform-tools.oldxxxx,删除旧的!在
之后工作
Y Nakamura 的回答让我朝着正确的方向前进,但我仍然花了很长时间才解决,因为我不确定我到底想解决什么。我将在这里扩展答案,以防其他人 运行 遇到与我相同的问题。
如前所述,问题似乎是由 Xamarin.UITest 不支持的平台工具内的文件(不确定是 adb.exe 还是其他文件)引起的。 platform-tools 可以在 C:\Program Files (x86)\Android\android-sdk
中找到
我有 platform-tools 文件夹,外加两个带有 old12341234 后缀的文件夹(这些数字对我来说没有任何意义).
要找出每个文件夹中 adb.exe 的版本:
- 打开其中一个文件夹
- 按住 shift 键并在 windows 资源管理器中右键单击 window 以查看 在此处打开 PowerShell window 选项
- 在 PowerShell 中,运行 命令
./adb.exe version
查看您正在 运行ning 的版本号
就我而言,太新的版本是 1.0.40。我找到了一个包含 1.0.39 的文件夹。我将太新的 platform-tools 文件夹重命名为 platform-toolsTooNew。然后我将包含 adb.exe v 1.0.39 的文件夹重命名为 platform-tools,然后重新启动 Visual Studio.
完成所有这些之后,我的自动化测试又一次成功了!
2020 年 11 月更新
我可以 运行 使用较新版本的 ADB,但我必须从我的 [=80= 中删除 old 文件夹]-sdk 文件夹。我正在使用:
- ADB 版本 1.0.41
- Visual Studio 16.6.5
- Xamarin 16.6.000.1064
- Xamarin.Android SDK 10.3.1.4
我会保留上面的原始 post,以防对其他人有帮助。
我想 运行 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();
感谢我们的帮助
Android SDK Platform-Tools 28.0.0 (40) 太新了。尝试恢复 27.0.1 (39)。打开文件夹 %ANDROID_HOME%
。如果文件夹 platform-tools
和 platform-tools.oldxxxx
出现,重命名它们以恢复旧版本。
如果出现同样的错误,查看我们的sdk目录是否有platform-tools和platform-tools.oldxxxx,删除旧的!在
之后工作Y Nakamura 的回答让我朝着正确的方向前进,但我仍然花了很长时间才解决,因为我不确定我到底想解决什么。我将在这里扩展答案,以防其他人 运行 遇到与我相同的问题。
如前所述,问题似乎是由 Xamarin.UITest 不支持的平台工具内的文件(不确定是 adb.exe 还是其他文件)引起的。 platform-tools 可以在 C:\Program Files (x86)\Android\android-sdk
中找到我有 platform-tools 文件夹,外加两个带有 old12341234 后缀的文件夹(这些数字对我来说没有任何意义).
要找出每个文件夹中 adb.exe 的版本:
- 打开其中一个文件夹
- 按住 shift 键并在 windows 资源管理器中右键单击 window 以查看 在此处打开 PowerShell window 选项
- 在 PowerShell 中,运行 命令
./adb.exe version
查看您正在 运行ning 的版本号
就我而言,太新的版本是 1.0.40。我找到了一个包含 1.0.39 的文件夹。我将太新的 platform-tools 文件夹重命名为 platform-toolsTooNew。然后我将包含 adb.exe v 1.0.39 的文件夹重命名为 platform-tools,然后重新启动 Visual Studio.
完成所有这些之后,我的自动化测试又一次成功了!
2020 年 11 月更新
我可以 运行 使用较新版本的 ADB,但我必须从我的 [=80= 中删除 old 文件夹]-sdk 文件夹。我正在使用:
- ADB 版本 1.0.41
- Visual Studio 16.6.5
- Xamarin 16.6.000.1064
- Xamarin.Android SDK 10.3.1.4
我会保留上面的原始 post,以防对其他人有帮助。