第一个VS2015 Xaramin Android项目
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项目的更多相关文章
- 第一个VS2015 Xaramin Android项目(终)
其实还有一个问题没解决,也拖很久了.中途公司的项目太紧导致无法学习更新. 之前的问题是这样的:项目搭建成功了,App也成功发布到虚拟机.便尝试增加控件 Xaml 设计界面如下: 但是在虚拟机运行却这样 ...
- 第一个VS2015 Xaramin Android项目(续)
上文说到已经第一个 App已经可以运行,但是并不能调试! 经过细心发现,我察觉到VS刚开始进入了调试模式,但是一闪而过.也就是说调试失败了,此时需要等待一段时间才能打开此App,如果立即打开App 会 ...
- 创建一个ArcGIS for Android 新项目并显示出本地的地图
1.准备工作:首先要配置好android的开发环境,然后在Eclipse中安装ArcGIS for Android的开发控件:在ArcCatalog中发布好本地的地图服务. 2.安装完ArcGIS f ...
- 创建一个Android项目
当我们的eclipse安装了SDK后,点击Window-->Perference-->DDMS.eclipse界面立即转为DDMS界面. 这时,我们可以打开我们的服务端(安卓模拟器或者是我 ...
- 【Android Developers Training】 1. 创建一个Android项目工程
注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...
- [Android开发教程]Android官网developer training中文版教程 - 1.1.1 创建一个Android项目
本系列持续更新中.转载请注明来源. 前言:近期打算系统学习一下Android开发,发现Android官网上的developer training也是个非常好的学习资料,于是想到一边学习一边写一个中文版 ...
- 在Windows上将ReactNative集成到现有的Android项目
React Natvie的官方文档的 Integrating with Existing Apps 已经很详细地教我们如何将React Natvie集成到现在的Android项目.我根据官方文档的步骤 ...
- Android项目结构 以及体系结构
学习Android平台的人一般对Android的平台的应该有点认识 其它的就不多讲了 Android项目一般由以下几个部分构成 以上是一个简单的Android项目结构目录图 1. src 主要是 源 ...
- 小KING教你做android项目(一)
写在项目开始之前: 最近关于android的视频教程,入门的书籍也已经有很多了,例如我的入门就是看了mars的视频教程.但是这么一圈学习下来,觉得真正快速提高的,不是在看视频,而是在实际工作中动手做项 ...
随机推荐
- 解决Ubuntu中文显示为乱码
1. 安装所需软件 sudo apt-get install zh-autoconvert sudo apt-get install zhcon 2. 配置系统 $ vi /var/lib/local ...
- Scrapy学习篇(十)之下载器中间件(Downloader Middleware)
下载器中间件是介于Scrapy的request/response处理的钩子框架,是用于全局修改Scrapy request和response的一个轻量.底层的系统. 激活Downloader Midd ...
- 3、zookeeper 集群模式搭建
服务器 1:192.168.1.81 端口:2181.2881.3881 服务器 2:192.168.1.82 端口:2182.2882.3882 服务器 3:192.168.1.83 端口:2 ...
- 利用Kettle 从Excel中抽取数据写入SQLite
SQLite作为一种数据库可以配置为Kettle的数据输入和输出,这个例子是从Excel中抽取数据然后写入到SQLite中 配置测试并成功后如下 下面是配置步骤: Excel输入配置 sqlite配置 ...
- firefox修改语言
下面咱们就可以开始更改设置来让咱们安装好的语言成为默认的语言. 首先在空窗口里输入以下地址:about:config,进入设置页面. 2 请大家定位到general.useragent.locale这 ...
- Vue组件间的参数传递
1.父组件与子组件传值 父组件传给子组件:子组件通过props方法接受数据: 子组件传给父组件: $emit 方法传递参数 2.非父子组件间的数据传递,兄弟组件传值 eventBus,就是创建一个事件 ...
- java中将表单转换为PDF
经过网上搜索大概有三种方式:PDF模板数据填充,html代码转换pdf,借用wkhtmltopdf工具 一 .PDF模板数据填充 1.新建word,在word中做出和表单一样的布局的空表单,然后另存为 ...
- 195. Spring Boot 2.0数据库迁移:Flyway
[视频&交流平台] àSpringBoot视频:http://t.cn/R3QepWG à SpringCloud视频:http://t.cn/R3QeRZc à Spring Boot源码: ...
- Python:笔记1_字符串处理【转载】
[转载自:https://www.cnblogs.com/houht/p/3308634.html] 1. 判断字符串str是否为空Approach 1:如果字符串长度为0,说明字符串为空,code如 ...
- leetcode39
public class Solution { List<IList<int>> list = new List<IList<int>>();//全部记 ...