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. 4-----Scrapy框架中选择器的用法

    Scrapy提取数据有自己的一套机制,被称作选择器(selectors),通过特定的Xpath或者CSS表达式来选择HTML文件的某个部分Xpath是专门在XML文件中选择节点的语言,也可以用在HTM ...

  2. protobuf在c++的使用方法以及在linux安装

      https://blog.csdn.net/wangyin668/article/details/80046798 https://www.cnblogs.com/zhouyang209117/p ...

  3. Silverlight 中图片路径的设置

    在Silverlight中图片的设置方法有几种 如上图在一个工程中有个images文件夹,buttons.xaml页面中的Image控件要引用一张图片 第一种方法 xaml: <Image x: ...

  4. public class 与 class 的区别

    public class 与 class 的区别 1.一个类前面的public是可有可无的 2.如果一个类使用 public 修饰,则文件名必须与类名一致 3.如果一个类前面没有使用public修饰, ...

  5. 使用Dockerfile docker tomcat部署

    在百度上试很多文章都不行,只有这篇可以. 宿主机为:centos64位 //安装docker 1:yum install docker //启动docker 2:systemctl start  do ...

  6. leetcode 182. Duplicate Emails having的用法 SQL执行顺序

    https://leetcode.com/problems/duplicate-emails/description/ 首先sql的执行顺序是 from-->where-->group b ...

  7. Python 的命名空间

    Python命名空间的本质: 一.命名空间的定义: 二.命名空间的查找顺序: 三.命名空间的生命周期: 四.通过locals()和globals() BIF访问命名空间. 重点是第四部分,我们将在此部 ...

  8. zookeeper开源客户端curator

    zookeeper的原生api相对来说比较繁琐,比如:对节点添加监听事件,当监听触发后,我们需要再次手动添加监听,否则监听只生效一次:再比如,断线重连也需要我们手动代码来判断处理等等.对于curato ...

  9. 织梦DEDECMS {dede:arclist},{dede:list}获取附加表字段内容

    以前用织梦DEDECMS做二次开发时获取附加表字段内容都是通过runphp执行SQL查询获得,最近看了看手册,发现一个非常简便的方法. 用arclist调用于附加表字段的方法: 方法一: 要获取附加表 ...

  10. 定制Linux

    tar -xzvf linux-major-minor-VERSION.tar.gz -C /usr/src cd /usr/src ln -sv linux-major-minor-VERSION ...