1. 更新Android SDK要从VS的工具栏上SDK Manager那里更新,不要像我一样之前搞了好几份SDK放在不同的地方,结果把自己搞糊涂了,更新了半天(真的是花了半天时间)才发现更新的地方不对......

2. 记住这个重要的地址:C:\Users\你自己登陆Windows的用户名\AppData\Local\Xamarin

折腾了两天多,终于搞明白了之前的错误的根源,首先要感谢这位自问自答的朋友,最关键的就是这句话“build-tools跟SDK API相关的,build-tools 23是需要API 23的”,一语惊醒梦中人,原来我之前已经擅自手工把Build-tools更新到版本23了,

但是SDK因为众所周知的原因,(虽然找了一些镜像网站)但是只更新到了22,后来换到mirrors.neusoft.edu.cn,终于找到了Android 6.0 (API 23)的下载,然后就解决了所有问题,终于可以编译通过了!

下面从头详细记一下这次的过程,就算不为别人,为以后的自己也是有意义的。

————————————————————————————————————————————————————————————————————————————————————————————————————

首先,在去年(2014)初和今年(2015)初两次搞过一点Android开发,当时是用Eclipse开发的,Android SDK也是自己手工去下载的离线版本解压的,因为这两次开发中间间隔时间较长,我的习惯又是每次都想用最新的工具,

so每次都会去下载新的SDK,然后放在了不同的地方,而且在这(2014)之前,曾经也想尝试用Xamarin来做做跨平台开发,所以很早的时候也安装过Xamarin,但是有了项目做之后就搁下了,导致计算机上其实有好几份Android SDK的内容,

而且版本各不相同(自己给自己挖了坑还不知道)。

这次大老板来review一年的工作,让我除了本职的Windows开发之外还是要做点其他的准备,比如跨平台开发,让我把某工具改写到Android和iOS下,加上微软开始拥抱开源,大肆宣传Visual Studio+Xamarin可以三大平台一网打尽,

这又逼得我不得不继续拿起Xamarin来,不然以我纯Windows+.NET+C#的功底,再去学java、Object-C、Swift什么的,而且还要继续兼顾我的Windows开发,这是要逼死大叔我啊!所以不管Xamarin现在是什么情况,都必须硬着头皮上了。

至少Xamarin也出来有些年头了,想来应该比前几年成熟些了吧,再加上Xamarin鼓吹的Xamarin Forms连界面都可以三合一,还有什么好说的,只能默念一声阿弥陀佛,上路吧!

下载安装什么的就不多说了,下载了最新的4.0.0.1697版本的Xamarin for Visual Studio,然后注册了账号,开始尝试。目前的环境是Windows 7 SP1 64位旗舰版+Visual Studio 2015 Update 1。

先从编译成功默认项目开始,新建了一个可移植的Xamarin Forms项目,编译就是1000+的错误,没什么,在我的预料之内,凡是和开源有关的东西都是这样,上手都会给你个下马威,能让你用得舒服的开源的东西真心不多。

然后开始更新,先是用Nuget更新组件,把和Xamarin有关的东西都更到最新,然后又是Android SDK,遇到无法更新那是正常的,搜了一下,发现现在比几年前环境好多了,以前不能更新只能想怎么FQ,或者找别人下好打包的,

现在有建镜像服务器的,这下的好处就是随用随下,而且速度杠杠的。推荐一个网址吧:http://www.androiddevtools.cn/

Xamarin官方的更新地址也留一个,以后可能有用
安卓:http://xamarin.com/installer_assets/v3/Windows/Universal//InstallationManifest.xml
苹果:http://xamarin.com/installer_assets/v3/Mac/Universal//InstallationManifest.xml

更新了之后好多了,然后就遇上钉子户了

Xamarin.Forms随手记的更多相关文章

  1. xamarin.forms新建项目android编译错误

    vs2015 update3 新建的xamarin.forms项目中的android项目编译错误.提示缺少android_m2repository_r22.zip,96659D653BDE0FAEDB ...

  2. Xamarin.Forms 简介

    An Introduction to Xamarin.Forms 来源:http://developer.xamarin.com/guides/cross-platform/xamarin-forms ...

  3. Xamarin.Forms 免费电子书

    Xamarin Evolve 正在举行,现在已经放出2本免费的Xamarin.Forms 免费电子书,据现场的同学说这两天还有Xamarin.Forms 重磅消息发布: Creating Mobile ...

  4. 老司机学新平台 - Xamarin Forms开发框架之MvvmCross插件精选

    在前两篇老司机学Xamarin系列中,简单介绍了Xamarin开发环境的搭建以及Prism和MvvmCross这两个开发框架.不同的框架,往往不仅仅使用不同的架构风格,同时社区活跃度不同,各种功能模块 ...

  5. 老司机学新平台 - Xamarin Forms开发框架二探 (Prism vs MvvmCross)

    在上一篇Xamarin开发环境及开发框架初探中,曾简单提到MvvmCross这个Xamarin下的开发框架.最近又评估了一些别的,发现老牌Mvvm框架Prism现在也支持Xamarin Forms了, ...

  6. 使用Xamarin.Forms平台开发移动应用指南

    下载书:链接: http://pan.baidu.com/s/1c29H9KG 密码: 7esm 注:捣鼓虚拟机把Hyper-V关闭,后来Xamarin搞挂了,所以暂停翻译. 第1章 Xamarin. ...

  7. Xamarin.Forms.Platform.Perspex, Xamarin Forms 的 Perspex(号称下一代WPF) 实现

    Perspex, 跨平台的UI框架,加上Xamarin Forms的跨平台的中间层,这样同一套代码就可跨几乎所有已知平台,这其中包括旧版Windows, Linux及Mac OS. 目前,基本控件可显 ...

  8. 为 Xamarin.Forms 做个跑马灯控件

    前段时间,私下用 Xamarin.Forms 做了个商业项目的演示版.很多被国内App玩坏了的控件/效果,XF上都没有或是找不到对应的实现,没有办法只能亲自上阵写了几个,效果还行,就是有BUG. 这个 ...

  9. Xamarin.Forms介绍

    On May 28, 2014, Xamarin introduced Xamarin.Forms, which allows you to write user-interface code tha ...

随机推荐

  1. MSF利用ms17-010漏洞过程记录

    1.使用网上以上一个监测工具,扫描出存在ms17-010的主机地址 2.在kali中使用MSF进行检测,存在mf17-010漏洞 msf > use auxiliary/scanner/smb/ ...

  2. js 获取非行间样式

    1.getComputedStyle(nodeObj,false):该方法是BOM对象,第一个是要获取样式的节点对象:第二个可以写成任何的字符一般写成false或者null,这里最好是用false因为 ...

  3. 6-----Scrapy框架中Item Pipeline用法

    当Item 在Spider中被收集之后,就会被传递到Item Pipeline中进行处理 每个item pipeline组件是实现了简单的方法的python类,负责接收到item并通过它执行一些行为, ...

  4. hadoop单机配置

    条件: 先下载VMware1.2,然后安装. 下载ubuntu-1.4.05-desktop-amd64.iso.下载地址:http://mirrors.aliyun.com/ubuntu-relea ...

  5. my.资料收集_20170912

    1.终于摸索出平民单开赚钱方法了!![梦幻西游手游吧]_百度贴吧.html http://tieba.baidu.com/p/5323468885?see_lz=1 1.http://tieba.ba ...

  6. 利用vue-cli搭建vue项目

    手把手教你用vue-cli搭建vue项目 本篇主要是利用vue-cli来搭建vue项目,其中前提是node和npm已经安装好,文章结尾将会简单提到一个简单的例子.使用vue-cli搭建项目最开始我也是 ...

  7. JMeter 正则表达式提取器(二)

    引用名:  引用此数据-别名 正则表达式:  取值 模板: 表示使用提取到的第几个值:$-1$:表示取所有值$0$:表示随机取值$1$:表示取第1个$2$:表示取第二个以此类推:$n$:表示取第n个 ...

  8. TCP/IP协议中几个缩写词的含义 MSL、TTL和RTT 报文最大生存时间 跳数(即生存时间) cs往返时间 MSL要大于TTL知道为什么吗?

    MSL.TTL和RTT简介 1.MSL是Maximum Segment Lifetime英文的缩写,中文可以译为“报文最大生存时间”,他是任何报文在网络上存在的最长时间,超过这个时间报文将被丢弃.因为 ...

  9. Django相关的MTV

  10. 快速创建jquery插件

    介绍 什么是插件? 插件我们见得很多了,比如浏览器上我们会安装一些去除广告的插件.美化页面的插件等等. 在前端,我们也常常写一些jquery插件来使用.来添加我们常常写的一些功能,方便使用. 为什么要 ...