将Xamarin部署到Android

时间:2016-06-22 11:50:25

标签: c# android visual-studio xamarin.android

我开始使用Xamarin并尝试运行示例项目。我设法安装了Android SDK,并创建了一个虚拟设备进行测试。但是,当我尝试运行该项目时,我得到一个非描述性错误,表明我应该检查日志文件。当我这样做时,我发现以下两个堆栈跟踪:

  

System.InvalidOperationException at   Xamarin.VisualStudio.Android.AndroidVirtualDeviceProvider.StartEmulator(IAndroidVirtualDevice   virtualDevice,IProgressReport进度,CancellationToken   cancelToken)   C:\ Users \用户助洗剂\数据\车道\ 3345 \ 2e397405 \源\ XamarinVS \ SRC \核心\ VisualStudio.Android \设备\ AndroidVirtualDeviceProvider.cs:线   148点   Xamarin.VisualStudio.Android.CommandHandlers.StartupVirtualDeviceCommandHandler.StartUp(IMonoAndroidDevice   device,IProgressReport进度,IAndroidVirtualDeviceProvider   virtualDeviceProvider,CancellationToken cancellationToken)in   C:\ Users \用户助洗剂\数据\车道\ 3345 \ 2e397405 \源\ XamarinVS \ SRC \核心\ VisualStudio.Android \ CommandHandlers \ StartupVirtualDeviceCommandHandler.cs:线   0点   Xamarin.VisualStudio.Android.CommandHandlers.StartupVirtualDeviceCommandHandler.Execute(StartupVirtualDeviceCommand   命令,IProgressReport进度,CancellationToken   cancelToken)   C:\ Users \用户助洗剂\数据\车道\ 3345 \ 2e397405 \源\ XamarinVS \ SRC \核心\ VisualStudio.Android \ CommandHandlers \ StartupVirtualDeviceCommandHandler.cs:线   45点   Xamarin.VisualStudio.Commands.CommandHandlerBase 2.Execute(TCommand command, CancellationToken cancellationToken) in C:\Users\builder\data\lanes\3345\2e397405\source\XamarinVS\src\Core\VisualStudio\Commands\CommandHandlerBase.cs:line 125 at Xamarin.VisualStudio.Commands.CommandHandlerBase 2.<> c__DisplayClass1_0< ExecuteAsync> b__0()   在   C:\ Users \用户助洗剂\数据\车道\ 3345 \ 2e397405 \源\ XamarinVS \ SRC \核心\ VisualStudio的\命令\ CommandHandlerBase.cs:线   118在System.Threading.Tasks.Task 1.InnerInvoke() at System.Threading.Tasks.Task.Execute() System.InvalidOperationException at Xamarin.VisualStudio.Commands.CommandHandlerBase.ProcessAggregateInnerException(Exception innerException, IProgressReport progress) in C:\Users\builder\data\lanes\3345\2e397405\source\XamarinVS\src\Core\VisualStudio\Commands\CommandHandlerBase.cs:line 37 at Xamarin.VisualStudio.Commands.CommandHandlerBase 2.Execute(TCommand   命令,CancellationToken cancellationToken)中   C:\ Users \用户助洗剂\数据\车道\ 3345 \ 2e397405 \源\ XamarinVS \ SRC \核心\ VisualStudio的\命令\ CommandHandlerBase.cs:线   145点   Xamarin.VisualStudio.Commands.CommandHandlerBase 2.<>c__DisplayClass1_0.<ExecuteAsync>b__0() in C:\Users\builder\data\lanes\3345\2e397405\source\XamarinVS\src\Core\VisualStudio\Commands\CommandHandlerBase.cs:line 118 at System.Threading.Tasks.Task 1.InnerInvoke()at   System.Threading.Tasks.Task.Execute()

有没有人知道发生了什么?

2 个答案:

答案 0 :(得分:1)

事实证明问题是我的电脑没有打开硬件虚拟化。我从来没有找到任何告诉过我的输出,但是当我打开它时它就开始工作了。

答案 1 :(得分:0)

看起来您使用内置模拟器时遇到了问题。我建议您尝试使用真实设备进行调试,或使用Genymotion创建模拟器。它需要Virtual Box运行,但非常有用,因为有很多设备可以模拟,因此您可以在多个API和屏幕尺寸上测试您的应用程序。