前言

是时候蹭一波热度了..咳咳..我什么都没说..

其实也是有感而发,昨天看到Jesse写的博文(是时候开始用C#快速开发移动应用了),才幡然醒悟 , 原来我们的Xamarin已经如此的成熟了...

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

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

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

然后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=;
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.环境搭建)的更多相关文章

  1. 1、 小白带你入坑xamarin系列之环境搭建和准备

    重点提示 由于xamarin发展更新很快 目前教程部分内容已经过时 请注意下载最新版本   2018.05.23 www.xamarin.com 1. 小白带你入坑xamarin系列之环境搭建和准备 ...

  2. arcgis api for flex 开发入门(一)环境搭建

    http://www.cnblogs.com/wenjl520/archive/2009/06/02/1494514.html arcgis api for flex 开发入门(一)环境搭建arcgi ...

  3. Android开发使用控件入门--环境搭建

    Android开发使用控件入门--环境搭建 软件名称(,梦,,想.CAD  ,控件) 1. 环境搭建: 3 1.1. 安装Eclipse 3 1.2. 下载JDK 3 1.3. 下载Android S ...

  4. 【ARM-Linux开发】在win下开发的eclipse+yougatoo+jlink环境搭建

    在win下开发的eclipse+yougatoo+jlink环境搭建 一 工具的安装 第一步:安装gcc编译工具 yagarto-bu-2.21_gcc-4.6.2-c-C++_nl-1.19.0_g ...

  5. 「译」JUnit 5 系列:环境搭建

    原文地址:http://blog.codefx.org/libraries/junit-5-setup/ 原文日期:15, Feb, 2016 译文首发:Linesh 的博客:环境搭建 我的 Gith ...

  6. 跨平台开发之阿里Weex框架环境搭建(一)

    转载自:http://www.cnblogs.com/fozero/p/5995122.html 一.介绍 Weex是阿里今年6月份推出的跨平台解决方案,6月底正式开源.官网 https://alib ...

  7. 使用 robotframework 自动化测试系列 二 -----环境搭建

    环境搭建是测试人员基础,本质都是不难的,按照流程和步骤一步步做,遇到问题不要担心,解决的问题越多,你理解的也就越多. 1. 安装python环境,python现在有python2 和python3.由 ...

  8. 驱动开发 - WDK 调试及 SVN 环境搭建

    由于从公司辞职了,所以以前在公司里搭建的驱动开发环境也就 Game Over 了, 同样由于那环境是很久以前搭建的,自己也有很多记不清楚的地方了, 而且其中还是有很多需要注意的地方的,所以在这里顺便做 ...

  9. JavaEE开发之基于Eclipse的环境搭建以及Maven Web App的创建

    本篇博客就完整的来聊一下如何在Eclipse中创建的Maven Project.本篇博客是JavaEE开发的开篇,也是基础.本篇博客的内容干货还是比较多的,而且比较实用,并且都是采用目前最新版本的工具 ...

随机推荐

  1. [Git]09 如何为命令起外号

    Git并不会推断你输入的几个字符将会是哪条命令,不过如果想偷懒,少敲几个命令的字符,可以用 git config 为命令设置别名.来看看下面的例子: $ git config --global ali ...

  2. FrameBuffer系列 之 相关结构与结构体

    在linux中,fb设备驱动的源码主要在Fb.h (linux2.6.28\include\linux)和Fbmem.c(linux2.6.28\drivers\video)两个文件中,它们是fb设备 ...

  3. poj2739尺取法+素数筛

    Some positive integers can be represented by a sum of one or more consecutive prime numbers. How man ...

  4. Lua快捷键

      快捷键 含义 ctrl + shift + L 多行编辑 ctrl + D 继续向下选中下一个相同的文本 Alt + F3 选中所有相同所选中德文本                        

  5. 详解Java动态代理机制

    之前介绍的反射和注解都是Java中的动态特性,还有即将介绍的动态代理也是Java中的一个动态特性.这些动态特性使得我们的程序很灵活.动态代理是面向AOP编程的基础.通过动态代理,我们可以在运行时动态创 ...

  6. How to image a CD/DVD ROM and generate hash value

    Someone ask me how to image a CD/DVD ROM and generate hash value in the same time. A small tool call ...

  7. OC中Foundation框架

    框架的概念 框架是由许多类.方法.函数.文档按照一定的逻辑组织起来的组合,以便使研发程序变的更容易在OS X下地Mac操作系统中大约有80个框架为所有程序开发奠定基础的框架称为Foundation框架 ...

  8. 详解JS对象

                                          [自定义对象] 1.基本概念 ①对象是包含一系列无序属性和方法的集合: ②键值对:对象中的数据是以键值对的形式存在的,以键取 ...

  9. 我对RPC的理解

    1.简介 这篇文章将会用最直白的方式介绍RPC,以及实现RPC客户端的Ajax跨域调用的例子. RPC(Remote Procedure Call Protocol)--远程过程调用协议,它是一种通过 ...

  10. JAVA进程占用CPU分析

    在一次生产环境中,服务器负载报警,SSH登录上看到CPU占用很高. 1.执行top命令,看到进程号为9737的进程持续占用CPU 2.怀疑是否是进程配置的内存不够了,引发了fullGC导致CPU占用高 ...