前言

其实从2013开始就想用Xamarin,奈何 当初收费一座大山压在身上 完全无法见得庐山真面目

后面2015,微软收购Xamarin,没过多久就宣布对个人用户免费..那个兴奋劲就别提了..

兴奋的我电脑都重装了好几遍...(因为装Xamarin搞的各种冲突)..奈何..资源有限 国内没镜像 FQ没路子.. 吃饭没钱..咳,暴露了

然后VS2017终于来了,首先 国内有镜像了 庞大的android-sdk也能嗖嗖下载了..然而又一座大山压过来..(也许是微软爸爸太好,每次都管吃管住,各种开发环境 所需资源全部准备好)

让我任性了一把..特秒的 VS2017集成的谷歌仿真器..真是卡出翔...我又放弃了..直到昨天..看到博文..

才醒悟..这算个什么事..当初2013时期都能折腾一个月的我  如今这么好的条件...这点小事情就能难倒?..

所以..说了这么多废话  这篇文章主要就是介绍如何在VS2017的前提下搭建我们的Xamarin安卓开发环境

正文

首先我们来看看效果..嗯..就是这样..

细心的朋友应该发现了,我们这里用的Genymotion模拟器,

接下来我们就一步一步的搭建我们的开发环境

一、安装VS2017的移动应用开发环境

1.进入VS2017安装界面.(废话),,

2.选择安装,(如果你已经安装VS2017主程序,就选择修改),如下图:

3.找到移动与游戏下的使用.NET的移动开发.如图:

4.选择你所需要安装的包,如下(注意:你如果不想使用卡出屎的谷歌模拟器..就别勾选Google Android仿真器..毕竟有18G..硬盘够大,网速够快请无视):

5.开始安装..等待安装完成..如果你用谷歌模拟器开发..那么 看到这 就终结了..安心去运行吧

当然我不推荐谷歌模拟器...所以 我们接下来安装这个Genymotion模拟器..

二、安装Genymotion模拟器

     提一下..这个Genymotion模拟器也比较蛋疼,但是我选择原谅他...毕竟不卡..

      1.进入Genymotion官网,并注册帐号.

http://www.genymotion.net/

2.注册后,登陆并下载免费版本,地址如下:

https://www.genymotion.com/account/login/

嗯..他免费版本藏的比较隐蔽在如图位置下载:

懒得找的可以直接如下地址下载

    https://dl.genymotion.com/releases/genymotion-2.9.0/genymotion-2.9.0-vbox.exe

国外资源..嗯 建议迅雷..

3.下载后安装.(注:本文写的时候是2.9版本)

安装过程就不写了..傻瓜模式..下一步 下一步 下一步...

4.下载调试所需要的安卓系统镜像..(注:建议4.3版本一个 6.0版本一个)

打开我们安装好的Genymotion..选择ADD添加镜像.如下:

我们选择常用的安卓4.3和安卓6.0,如下:

这里就比较蛋疼了..他的资源在国外,所以下载速度..惨不忍睹..

所以我帮大家找了相关的资源文件自行迅雷 或者..想办法下载 如下:

安卓6.0:   http://dl.genymotion.com/dists/6.0.0/ova/genymotion_vbox86p_6.0_170320_193253.ova

安卓4.3:   http://dl.genymotion.com/dists/4.3/ova/genymotion_vbox86p_4.3_170321_020053.ova

     如果是用我提供的连接下载的 就只能选择和我一样的镜像..

      找到如下位置:C:\Users\Administrator\AppData\Local\Genymobile\Genymotion\ova

     将你下载好的文件复制进去.然后在Add中选择一样的镜像,就会发现跳过了下载 直接进入了安装环节..

5.运行镜像并调试.

双击我们要运行的镜像.即可.

6.打开VS2017.创建Demo程序如下:

在Main.xaml中添加按钮..Button1.如下:

修改MainActivity.cs中的代码如下:

    public class MainActivity : Activity
{
int count=0;
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
SetContentView(Resource.Layout.Main);
var button = FindViewById<Button>(Resource.Id.button1);
button.Click += delegate
{
button.Text = string.Format("这是第{0} 单击!", count++);
};
// Set our view from the "main" layout resource
// SetContentView (Resource.Layout.Main); }
}

我们会发现..智能的微软爸爸早就检测到了我们的模拟器(注:一定要保证模拟器是打开的..),如图:

最终代码运行效果如下:

C#开发移动应用 - 环境搭建的更多相关文章

  1. 使用Kotlin开发Android应用 - 环境搭建 (1)

    一. 在Android Studio上安装Kotlin插件 按快捷键Command+, -> 在Preferences界面找到Plugins -> 点击Browse repositorie ...

  2. Tiny4412 开发板 编译环境搭建【转】

    本文转载自:http://blog.csdn.net/beijiwei/article/details/51055369 版权声明:本文为博主原创文章,未经博主允许不得转载. /*********** ...

  3. 基于GBT28181:SIP协议组件开发-----------第一篇环境搭建

    原创文章,引用请保证原文完整性,尊重作者劳动,原文地址http://www.cnblogs.com/qq1269122125/p/3930018.html,qq:1269122125. SIP协议在安 ...

  4. 1 IDEA 安装 及 IDEA开发 spring的环境搭建

    摘要: 主要讲解使用 IDEA 开发 Spring MVC 的环境搭建,Maven的简单教学. 参考1:https://my.oschina.net/gaussik/blog/385697 参考2:h ...

  5. Android NDK开发之从环境搭建到Demo级十步流

    写在正文之前: 几个月没有更新博客,感觉有点生疏了,所以说不能断,一断人就懒. 其实这几个月也并不是什么事也没有做,俺可是时刻想着今年的任务呢,10本书,30篇博文...,这几个月间断性的也是在学习中 ...

  6. UI5-学习篇-1-Eclipse开发工具及环境搭建

    最近研究SAP-UI5好几个月了,将相关学习经历及问题点做个记录. 1.先了解学习资料相关站点 SAP官网:https://www.sap.com/china/index.html SAP开发工具:h ...

  7. IoT设备程序开发及编译环境搭建初体验

    引言 Mirai事件一经曝出,立即引领了一轮研究IoT设备的热潮.目前,对Mirai的报告大多只是在对其功能实现上的介绍,却很少提及如何实现IoT设备程序开发的测试环境.本文在对Mirai的源码研究的 ...

  8. webapp开发学习---Cordova环境搭建

    Cordova 使用HTML, CSS & JS进行移动App开发;多平台共用一套代码;免费开源 步骤:(来自Cordova官网) 1.安装Cordova(在node.js环境下进行安装) 命 ...

  9. 前端开发 Vue -1windows环境搭建Vue Node开发环境

    解决几个疑问: 想学习下vue.js,我理解的它是一个前端的框架,主要作用是对数据的处理,和juqery类似,所以不太理解为什么要在nodejs中npm install vue呢?在html文件中引入 ...

  10. JavaSE 学习笔记01丨开发前言与环境搭建、基础语法

    本蒟蒻学习过C/C++的语法,故在学习Java的过程中,会关注于C++与Java的区别.开发前言部分,看了苏星河教程中的操作步骤.而后,主要阅读了<Java核心技术 卷1 基础知识>(第8 ...

随机推荐

  1. VIM - 模式简介

    1. 概述 简述 vim 模式 很简单的东西, 随便说说得了 2. 模式们 概述 vim 各个模式 后面的切换, 都是从 标准模式 切换到其他模式 1. Normal Mode 名称 标准模式 / 常 ...

  2. kubernetes基本概念和术语

    一. kubernetes是什么 kubernetes是一个全新得基于容器技术得分布式架构领先方案.是google Borg得一个开源版本.Borg是google得一个久负盛名得内部使用得大规模集群管 ...

  3. 项目开发设计模式理解之MVC模式

    项目开发设计模式之MVC模式: M model 模型层 V view 视图层 C control 控制器 MVC模式在B/S架构下使用很广泛的软件设计模式,分成三个相对独立的模块构成,model+vi ...

  4. .Net 两个对像之间的映射 ( 二 )

    一.使用 class Program { static void Main(string[] args) { User u1 = new User(); u1.UserName = "aaa ...

  5. httpclient在获取response的entity时报异常

    httpClient报异常:Premature end of chunk coded message body: closing chunk expected 首先这个异常提示直译过来就是:被编码信息 ...

  6. Unity3D使用NGUI实现简单背包功能

    前话 在许多类型游戏中我们经常会使用到背包,利用背包来设置相应角色属性,多了背包也会让游戏增色拓展不少. 那在Unity3D游戏开发中该如何编写背包系统呢?因为有高人开发了NGUI插件,因此我们进行简 ...

  7. T-SQL语句基础

    连接服务器 - 去哪个仓库找目标数据库 - 找仓库中的目标区域查找目标表 - 找货柜找数据(以行为基础单位) - 在货柜上找到目标的物品 基础T-Sql语句1.SQL语句的注释 2.创建数据库crea ...

  8. javaweb(三十八)——事务

    一.事务的概念 事务指逻辑上的一组操作,组成这组操作的各个单元,要不全部成功,要不全部不成功. 例如:A——B转帐,对应于如下两条sql语句  update from account set mone ...

  9. JUC——原子类操作(三)

    原子类操作 既然强调了并发访问,那么就必须考虑操作系统位数:32位操作系统还是64位操作系统,对于long型数据类型而言,是64位的.但是如果现在项目运行在32位系统上,则long型数据会占用32位空 ...

  10. vue2.0做移动端开发用到的相关插件和经验总结

    最近一直在做移动端微信公众号项目的开发,也是我首次用vue来开发移动端项目,前期积累的移动端开发经验较少.经过这个项目的锻炼,加深了对vue相关知识点的理解和运用,同时,在项目中所涉及到的微信api( ...