20170323新增:VS环境配置

打开VS,菜单栏选工具(Tools) 选项\

一般有2个地方需要修改

1

2


新建第一个项目,什么都没有修改的情况下(已经配置好环境变量)直接运行,会发现如下错误:

这是因为没有连上手机或没有开启虚拟设备,打开AVD创建设备并打开后回VS运行按钮会变成下图:

再点击运行即可将app部署到虚拟设备,但是我并不建议使用Google 的AVD Manager创建的设备,因为实在是卡成狗。我们可以尝试使用Xamarin Android Player 或VS2015自带的模拟器,我这里用的是VS自带的模拟器。

XAP下载地址:https://developer.xamarin.com/releases/android/android-player/(下载安装后安装相应的模拟器需要FQ。)

VS Android模拟器下载地址:https://www.visualstudio.com/zh-hans/vs/msft-android-emulator/

模拟器介绍:https://my.oschina.net/u/2317468/blog/509516?p=1

为什么模拟器XAP 或 VS_Enulator 比AVD要快?这是需要硬件支持的《Windows Phone 8 模拟器的系统要求》,否则vs_emulatorsetup.exe会安装失败(有提示错误原因)

在 BIOS 中,必须支持以下功能:

  • 硬件辅助虚拟化。【我使用的是Intel CPU,可以使用securable查看是否支持】

  • 二级地址转换 (SLAT)。【可以使用微软官方的工具Coreinfo 进行检测[command-> coreinfo.exe –v]】

  • 基于硬件的数据执行保护 (DEP)。【参考:你的计算机开启了数据执行保护(DEP)吗?  我个人觉得应该是防止虚拟机内的病毒通过某些手段攻击主机?】

虚拟化  (详细请查看:虚拟化技术简介)

我们通常所说的虚拟化主要是指平台虚拟化技术,通过使用控制程序(Control Program,也被称为 Virtual Machine Monitor 或Hypervisor),隐藏特定计算平台的实际物理特性,为用户提供抽象的、统一的、模拟的计算环境(称为虚拟机)。

何为 SLAT 呢?(详细请查看:什么是SLAT,检查 CPU 是否支持二级地址转换 (SLAT))

在程序访问内存时都要经过从逻辑地址到物理地址的映射,虚拟环境下也不例外反而更加复杂,因为第一次映射出来的“物理地址”还是虚拟机下的虚拟地址,需要通过虚拟机把它再次映射成实际的物理地址,这样就限制了访问的速度。

而 SLAT 即“二级地址转换”,可以加速页表访问的速度!在 Intel 和 AMD 处理器上都提供了这一新技术,两个品牌针对 SLAT 这一技术有不同的技术名称:

Intel 的 SLAT 称为 EPT(Extended Page Table),Intel 的 Core i7,i5,i3,Pentium G6950 以及大部分的 Xeons 处理器都支持 SLAT,而 Core 2 系列以及更早的处理器则不支持!

AMD 的 SLAT 称为 RVI(Rapid Virtualzation Indexing),第三代皓龙处理器(代号:巴塞罗那)都支持这一技术。

BIOS 开启 虚拟技术(仅以我自己的主板为例)

开启Hyper

开启Hyper 后开始运行调试app又发现了需要开启Hyper 服务

在控制面板设置那里忘记勾选 Hyper-V服务了,除此之外可以勾选Hyper-V虚拟机监控程序。确定后需要重启计算机。

重启后打开VS,继续运行调试app发现又弹窗了:You have been added to the Hyper-V Administrators security group. Please sign out of your computer for the permissions to take effect.

英语好的可以看这:android enuemulator problem

这里有解决方案很简单,使用管理员身份打开VS

或者有一劳永逸的操作方式:右击vs,选属性,在弹窗后选快捷方式,选高级,勾选用管理员身份运行即可。

好了,做完上述步骤后继续打开VS,开启运行调试。模拟器总算可以运行了,但是却发现模拟器并没有成功安装app,前文已经说过解决方式,这里再说一次吧~

在注册表中"HKCU\Software\Microsoft\VisualStudioEmulator\Android"下添加一个名称为"AdbPath"的键,值就是Android SDK的platform-tools绝对路径(D:\Android\android-sdk\platform-tools)。

最后提示,刚进模拟器系统时打开 app,app有可能闪退,等一会app真正安装好后再打开就好了。

自此,第一个app终于可以运行!

第一个VS2015 Xaramin Android项目的更多相关文章

  1. 第一个VS2015 Xaramin Android项目(终)

    其实还有一个问题没解决,也拖很久了.中途公司的项目太紧导致无法学习更新. 之前的问题是这样的:项目搭建成功了,App也成功发布到虚拟机.便尝试增加控件 Xaml 设计界面如下: 但是在虚拟机运行却这样 ...

  2. 第一个VS2015 Xaramin Android项目(续)

    上文说到已经第一个 App已经可以运行,但是并不能调试! 经过细心发现,我察觉到VS刚开始进入了调试模式,但是一闪而过.也就是说调试失败了,此时需要等待一段时间才能打开此App,如果立即打开App 会 ...

  3. 创建一个ArcGIS for Android 新项目并显示出本地的地图

    1.准备工作:首先要配置好android的开发环境,然后在Eclipse中安装ArcGIS for Android的开发控件:在ArcCatalog中发布好本地的地图服务. 2.安装完ArcGIS f ...

  4. 创建一个Android项目

    当我们的eclipse安装了SDK后,点击Window-->Perference-->DDMS.eclipse界面立即转为DDMS界面. 这时,我们可以打开我们的服务端(安卓模拟器或者是我 ...

  5. 【Android Developers Training】 1. 创建一个Android项目工程

    注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...

  6. [Android开发教程]Android官网developer training中文版教程 - 1.1.1 创建一个Android项目

    本系列持续更新中.转载请注明来源. 前言:近期打算系统学习一下Android开发,发现Android官网上的developer training也是个非常好的学习资料,于是想到一边学习一边写一个中文版 ...

  7. 在Windows上将ReactNative集成到现有的Android项目

    React Natvie的官方文档的 Integrating with Existing Apps 已经很详细地教我们如何将React Natvie集成到现在的Android项目.我根据官方文档的步骤 ...

  8. Android项目结构 以及体系结构

    学习Android平台的人一般对Android的平台的应该有点认识 其它的就不多讲了 Android项目一般由以下几个部分构成 以上是一个简单的Android项目结构目录图 1. src  主要是 源 ...

  9. 小KING教你做android项目(一)

    写在项目开始之前: 最近关于android的视频教程,入门的书籍也已经有很多了,例如我的入门就是看了mars的视频教程.但是这么一圈学习下来,觉得真正快速提高的,不是在看视频,而是在实际工作中动手做项 ...

随机推荐

  1. C++Primer第五版——习题答案详解(六)

    习题答案目录:https://www.cnblogs.com/Mered1th/p/10485695.html 第7章 类 练习7.1 class Sales_data { public: std:: ...

  2. 学习 MeteoInfo二次开发教程(三)

    1.breakList的问题 ((PolygonBreak) aLS.breakList[0]).DrawFill=false; 新的类库将LegendScheme的breakList属性改为了Leg ...

  3. MAC地址表、ARP缓存表以及路由表

    一:MAC地址表详解 说到MAC地址表,就不得不说一下交换机的工作原理了,因为交换机是根据MAC地址表转发数据帧的.在交换机中有一张记录着局域网主机MAC地址与交换机接口的对应关系的表,交换机就是根据 ...

  4. python-web自动化-Python+Selenium之expected_conditions:各种判断

    expected_conditions一般也简称EC 以下两个条件类验证title,验证传入的参数title是否等于或包含于driver.titletitle_istitle_contains 以下两 ...

  5. Mysql相关问题集锦

    1:连接阿里云的服务器时,用navicate连接SSH时提示:或提示指到另一个IP从而进不去. SSH:expected key exchange group packet form server 解 ...

  6. 怎样让scrollview滚动到底部?

    - (void)scrollsToBottomAnimated:(BOOL)animated { CGFloat offset = self.tableView.contentSize.height ...

  7. hadoop 二次排序的思考

    name sorce jx 10 gj 15 jx 20 gj 30 1. 二次排序 key如何定义 2. grouping 是不是一定要实现,不实现可以吗? 3. 二次排序的本质是什么 4. 如果以 ...

  8. Centos安装ffmpeg

    yum install -y ffmpeg 使用上面的命令安装却出现以下问题: Google后发现缺少一些扩展: wget https://download1.rpmfusion.org/free/e ...

  9. nginx测试小结

    最近在工作当中需要使用nginx,就对nginx进行进一步的了解,测试.        工作需求是在微服务架构的基础上,客户端通过nginx反向代理访问服务端,确保当一个服务端出现问题时能及时切换到正 ...

  10. cmd创建文件命令

    一.建立空文件的几种方法 1.cd.>a.txt cd.表示改变当前目录为当前目录,即等于没改变:而且此命令不会有输出. >表示把命令输出写入到文件.后面跟着a.txt,就表示写入到a.t ...