2017-04-11 170 views
3

我是Xamarin新手。我使用Xamarin.Forms模板在Visual Studio 2017中创建示例移动解决方案。该过程创建了四个项目Xamarin PCL,Xamarin Android,Xamarin.iOS和Xamarin.UWP。如果不对生成的解决方案进行任何修改,我正在尝试运行它。Xamarin.Forms Visual Studio 2017项目不部署

第一个问题是,当我将UWP设置为启动项目时,Windows模拟器显示并完美运行该应用程序。但是当我尝试在Android上做同样的事情时,根据我所做的环境变化,我在不同的时间得到了不同的错误。最后,使用Visual Studio的Android模拟器,Phone UI显示出来,但不是我的应用程序。在后台,我可以看到Visual Studio成功完成了构建过程,没有任何错误,但部署过程很简单。我离开部署过夜,但仍在早上运行。这是我的环境。

  1. 英特尔i7处理器
  2. 在BIOS中启用虚拟技术
  3. 的Windows 10教育
  4. 32GB RAM
  5. Hyper-V的Windows中禁用
  6. 执行 “BCDEDIT /套hypervisorlaunchtype关闭” 命令窗口并重新启动。

我试着以不同的组合设置上述环境,但是它们都没有让应用程序工作。当我从android sdk使用android模拟器时,构建过程会引发错误。唯一的模拟器,甚至建立的是Visual Studio模拟器。但部署挂起。

我的第二个问题是,我已经为版本24和25安装了android SDK。但是在模拟器下拉列表中,我只能看到23的模拟器。我在Visual Studio和android sdk manager中检查了安装路径并且它们都指向相同的安装文件夹。我需要什么来使版本24和25的仿真器可用?

我再说一遍,在运行它之前,我没有对Visual Studio中生成的解决方案进行任何更改。过去三天我一直在这里工作,无法完成工作。请帮忙。

+0

检查您的Droid项目的项目选项。它具有支持的API级别。确保24和25被支持,否则你将无法在该模拟器(或设备)上运行它。 –

+3

Windows模拟器(与模拟器相反)和visual studio android模拟器实际上都需要hyper-v,所以你不想让那个被禁用。您可能看到关闭hyper-v的建议的原因是启用基于virtualbox的仿真器,但是Microsoft使用hyper-v。所以我会启用它,并确保你可以运行它们。对于UWP应用程序,默认情况下将在模拟器中运行,该模拟器只是另一个窗口中的Windows桌面。该模拟器是为Windows手机。哦,微软还没有API 24或25模拟器的图像,但23对大多数事情都很好。 –

+0

@BenReierson感谢您的信息。我已经尝试了Hyper-V的开启和关闭。还有一点是:在我的Android SDK Manager下,Entel x86 Emulator Aceelerator(HAXM Installer)版本6.1.1被标记为“与Windows不兼容”,我在很多帖子中看到这也可能是问题,但我不知道如何安装HAXM,我想我忘了在原文中提到这个 –

回答

4

过去几天拉我的头发后,我终于得到了我的Xamarin.Forms Android应用程序来显示我的网页在模拟器上。感谢所有成员的建议。瑞恩的建议帮了很多忙(我为他+1,谢谢瑞安),但没有解决我的问题。我进一步搜索了一下,并发现一个建议,要求更改以下为我最终完成的设置。所以,如果有其他人像我一样卡住了,除了清理和更新所有软件包外,还请执行以下操作。 为虚拟机打开Hyper-V虚拟机的设置(虚拟机关闭时)。展开左侧的处理器节点,然后单击“兼容性”。现在在右侧的“使​​用不同的处理器版本迁移到物理计算机”上打勾。在Visual Studio模拟器工具中启动您的模拟器。现在,开始在VS中使用已经运行的相同模拟器来调试你的android项目。延迟后(总会有延迟),您的应用程序将显示在模拟器上。 Yey!

4

我刚刚安装了Visual Studio 2017(在Win10 15063.138上),发现像你一样,Xamarin项目不会部署到Android。以下是我的跑步方式:

  • 更新了Android SDK Manager中的所有内容。
  • 从MS安装了新的,改进的Android模拟器: https://www.visualstudio.com/vs/msft-android-emulator/
  • 使用的下载/安装一个API级23(6.0棉花糖) 模拟器
  • 开始使用同样的工具,模拟器(你会看到它在Hyper-V管理器中运行)
  • 在VS中选择相同的模拟器进行部署/调试(VS附带的模拟器非常慢)
  • 在VS中,选定的Android项目用于启动和验证构建和部署到Android在构建配置管理器。

注意:MS似乎没有API级别23以上的任何仿真器,因此您的Android项目的编译和目标设置可能是最新的,但最小目标必须是6.0(API 23)。

+0

感谢您的建议。一秒钟之后,我就认为我已经得到了它,但是它只是短暂的,调试过程始于在构建过程中输出窗口中有很多消息,在仿真器显示Android手机主屏幕的同时部署。部署完成后,一个白色屏幕(显然是我的应用程序)出现了几分之一秒,我甚至看不到测试信息。调试突然停止,没有任何错误消息。任何想法? –

0

我刚清理解决方案并重建。部署并再次运行。部署,有编码错误,但“再次运行”。我讨厌那样的问题。哎呀。

相关问题