Xamarin Android项目成功构建,但不会部署到模拟器

时间:2016-08-05 00:53:22

标签: c# android xamarin mono xamarin.android

在我的案例中使用模拟器(Genymotion)。突然间,我无法再部署到模拟器了。我曾经能够很好。但是,我可以成功构建并部署到物理Android设备没问题。模拟器正在运行,并在ADB中显示为在线以及Visual Studio中的播放按钮。我正在运行VS2015。截至今天,我有: 1.更新了Xamarin for VS. 2.更新了Genymotion 3.更新并验证了所有Android SDK,NDK和JDK版本

毕竟,我仍然无法部署到模拟器,但仍然可以很好地部署到物理设备。附件是来自部署输出的屏幕截图。有人可以帮忙,整天沮丧,把头发拉出来。对于截图,对不起截图,我原本试图在文本中过去,无论我是否将其作为代码或引用,SO都不喜欢它。

Deploy error

1 个答案:

答案 0 :(得分:2)

只想回到这个并正式回答。如上面的注释所示,当您在应用程序中引用了未在目标上安装或不支持的库时,您将向设备或模拟器(很可能在模拟器上)部署问题。

这似乎是常识,但你会看到的错误非常神秘,并没有明确指出这一点。因此,如果您正在部署错误,例如上面屏幕截图中的错误,请检查所有参考和组件。确保它们受您的设备支持并正在部署。如果Visual Studio没有为您执行此操作,您可以尝试手动部署缺失的文件。

例如,评论中提到了Google Play服务。这是常见的,因为Google Play服务通常不包含在大多数模拟器中。因此,如果您在应用程序中引用这些服务,则将无法部署,因为服务不在模拟器上。然后,您可以进行一些搜索,有关于如何在模拟器上安装Google Play服务(或任何其他缺少的组件)的文章。

在我的具体情况下,我的目标是Zebra的设备,它具有内置的条形码扫描仪。因此,Zebra为条形码扫描仪提供了一个SDK。显然,我的模拟器没有这个硬件,因此无法安装SDK。有了这个,我的应用程序的部署失败了。在这种情况下,我要么必须部署到实际的Zebra设备进行测试,要么删除SDK引用以使用模拟器并测试除条形码扫描器之外的所有其他功能。

希望这有帮助。