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

序言:

移动端的跨平台百花齐放,各种技术方案和方法都是层出不穷。目前xamarin确实是一套成熟可靠,完全值得信赖的开发框架。尤其是对传统做WPF ASP.NET的开发团队来说要节约成本开始移动端开发。这个是很好的一个选项。

开始之前回答2个问题。

1、我学了xamarin是不是可以不用学习安卓和iOS了? 答案当然是否定的,你还是要了解安卓,了解JAVA,同样的你一样要学习iOS的和Object-C的内容。

2、既然我还得学安卓和iOS为什么我还要学xamarin这样的东西?首先这里掌握安卓和iOS,并不要求你掌握多么全面,有一些基础的了解即可。当然掌握得越全面你接下来解决各种问题的能力会越强。我们选用xamarin是为了跨平台,是为了更快的开发效率,如果不能解决这个问题这样的技术实际上是不能作为一个技术选型的。根据小白的项目经验表示在一个实际开发团队中,绝大部分内容都是基础和简单的。所以只要团队里有那么一个人掌握全面了。基本上这个团队开发xamarin就没太大问题。

 

开发环境准备

一般情况下移动端开发我们只考虑Android 、iOS和 UWP   目前2大主流开发环境   由于iOS开发的限制所以必须有XCODE和Mac主机  即使你使用xamarin开发也逃不开这样的限制。

目前环境搭建分为2个部分。

一、Windows篇+Mac 代理机

安装包下载

1、 VS2017下载 https://www.visualstudio.com/zh-hans/downloads/ 社区和企业版均可

2、 下载Java环境http://download.xamarin.com/Installer/MonoForAndroid/jdk-8u101-windows-i586.exe

3、 Android NDK http://dl.google.com/android/ndk/android-ndk-r10e-windows-x86_64.exe

4、 Android SDK  https://dl.google.com/android/installer_r24.4.1-windows.exe

2  3  4如果无法正常下载 可以使用百度云盘 https://pan.baidu.com/s/1hsfCYvM

 

Windows安装VS2017即可。

默认情况下安装VS2017只用勾选Xamarin不要勾选Android相关选项。最好是单独安装组件,不然就这个安装过程会让你抓狂的。

 

 

勾选单个组件里面的

 

 

这个时候是没有安装成功的 但是VS里面已经有了对应的开发模板 比如安卓的项目模板。

打开工具   选项  选择xamarin节点

选择

 

 

对应的Java环境 SDK NDK 都为空 这个时候下载安装对应的环境并指向。

 

安装对应的Java JDK   然后安装Android SDK  Android NDK

成功后

 

 

Android SDK安装完毕后 会提示没有SDK 这个时候 应该进入对应的Android SDK目录

 

 

运行批处理 下载对应Android  SDK版本

 

 

如果手上有安卓手机这个时候已经可以正常开发了。

把你的安卓手机开启 开发者模式 USB连接到Windows电脑上。

Vs2017新建项目 选择默认的安卓模板 点Debug运行

就可以看到第一个xamarin 安卓APP了

如果没有真机这个时候还需要安装一个模拟器。

打开VS2017 选择工具  选择Android 选择Android仿真程序管理器

 

 

Create一个新的AVD即可。最后还是强烈建议使用真机。

关于mac主机说明

Mac主机的问题解决方案有以下几种。1、安装虚拟机 2、使用黑苹果(只要是Intel系CPU绝大部分还是可以装成功的。具体可以准备一台普通PC在X宝寻求帮助)3、购买二手的Mac主机根据层色和需求(1k-7k都有)也是可以的

Mac的开发环境搭建。

首先进入Appstore 安装XCode 预计耗时半个到一个小时

 

 

安装完毕

Mac需要安装以下几个环境

Mono 运行时 https://download.mono-project.com/archive/5.0.1/macos-10-universal/MonoFramework-MDK-5.0.1.1.macos10.xamarin.universal.pkg

Xamarin.IOS https://dl.xamarin.com/MonoTouch/Mac/xamarin.ios-11.6.1.2.pkg

环境就搭建完毕了  一般情况下我建议大家再安装vs for mac 目前很好用的ide

vs for mac https://dl.xamarin.com/VsMac/VisualStudioForMac-7.0.1.24.dmg

远程Agent需要配置如下

1选择系统偏好设置  2选择 共享  3选择 远程登录 4选择所有用户

 

 

 

 

 

这个时候可以在你Windows的VS上尝试连接下mac主机

 

 

一般情况下会默认找到您的mac主机。

没有找到可以点击下面的Add Server 输入mac机器的ip地址

 

 

点击连接会提示让你输入用户名和密码 输入你登录mac的用户名和密码即可

登录成功后工具栏的mac主机就会变成绿色

 

点击

 

看看mac主机是否弹出模拟器。如果弹出则说明成功,不能弹出则说明连接失败。检查下是否允许远程登录。

此刻Window下开发安卓和IOS均已成功。

尝试写个demo跑起来看看。

二、纯Mac开发机环境搭建

对于已经有Mac主机并且准备一直用做主力开发机的同学来说。和Windows搭建唯一的区别就是需要配置下Java和Android SDK  NDK

建议使用

如果下载不顺https://pan.baidu.com/s/1hsfCYvM 可以使用百度网盘

https://xampubdl.blob.core.windows.net/static/installer_assets/v3/Mac/Universal/InstallationManifest.xml 中的连接进行下载安装。

分别安装

1、 Mono  

https://dl.xamarin.com/MonoFrameworkMDK/Macx86/MonoFramework-MDK-5.4.1.7.macos10.xamarin.universal.pkg

2、 JDK

http://download.oracle.com/otn-pub/java/jdk/8u161-b12/2f38c3b165be4555a1fa6e98c45e0808/jdk-8u161-macosx-x64.dmg  (2018.01.18 进行更新)

无法直接下载的 请在oracle官网下 下载  http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 

3、 Android SDK

http://dl.google.com/android/android-sdk_r24.4.1-macosx.zip 解压即可

4、 Android NDK

http://dl.google.com/android/ndk/android-ndk-r14b-darwin-x86_64.bin 下载后解压会对习惯Win的同学会稍微麻烦。需要在终端中执行

win(Command) +空格 输入T 一般情况下就能够找到终端了(类似CMD)

1.获取文件权限

chmod a+x android-ndk-r14b-darwin-x86_64.bin

2. 解压出文件

./android-ndk-r14b-darwin-x86_64.bin

 

5、配置XCode 在Appstore安装即可

6、安装VS for Mac

https://dl.xamarin.com/XamarinforMac/Mac/xamarin.mac-4.0.0.214.pkg 下载安装即可

运行VS第一次默认是英文绝大部分人不习惯情况下 在头部

 

 

可以选择偏好 也可以输入快捷键 Win(Command) + , (逗号)可以打开配置

 

配置

 

 https://dl.xamarin.com/MonoforAndroid/Mac/xamarin.android-8.1.5-0.pkg 

下载并安装xamarin Android

选择位置

 

 

配置好对应的环境

Apple的开发环境只要安装好Xcode即可

自此环境搭建完毕。

如果需要安卓模拟器的还是一样

选择工具  选择Google仿真器管理。如果出现

 

 

目前的SDK版本过新 要用命令行进行管理AVD

2种处理逻辑

1、 降低SDK版本

打开工具

 

 

其他都取消掉

 

然后在打开Google仿真模拟器

就有熟悉的AVD管理了。

还是建议使用真机。

2、 使用AndroidStudio 创建AVD

原文地址:http://www.cnblogs.com/jasondun/p/8098791.html 


.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/322269.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Dora.Interception,为.NET Core度身打造的AOP框架:全新的版本

Dora.Interception 1.0(可以访问GitHub地址:https://github.com/jiangjinnan/Dora)推出有一段时间了,最近花了点时间将它升级到2.0,主要有如下的改进:提供了原生的动态代理生成底层框架Dora.DynamicProxy&a…

欢乐纪中某A组赛【2019.7.8】

前言 你以为我是jzojjzojjzoj,其实我是GMojGMojGMoj哒 成绩 JJJ表示初中,HHH表示高中后面加的是几年级 上至222分XJQXJQXJQ,下至200ZZY200ZZY200ZZY都有我们SSLSSLSSL的人(滑稽) |RankRankRank|PersonPersonPerson|ScoreScoreScore|AAA|BBB|CCC| RankR…

Sentinel(十四)之控制台

转载自 Sentinel 控制台 1. 概述 Sentinel 提供一个轻量级的开源控制台,它提供机器发现以及健康情况管理、监控(单机和集群),规则管理和推送的功能。这里,我们将会详细讲述如何通过简单的步骤就可以使用这些功能。 …

C# 这些年来受欢迎的特性

原文地址:http://www.dotnetcurry.com/csharp/1411/csharp-favorite-features在写这篇文章的时候,C# 已经有了 17 年的历史了,可以肯定地说它并没有去任何地方。C# 语言团队不断致力于开发新特性,改善开发人员的体验。在这篇文章中&#xff0…

Sentinel(十三)之动态规则扩展

转载自 动态规则扩展 规则 Sentinel 的理念是开发者只需要关注资源的定义,当资源定义成功后可以动态增加各种流控降级规则。Sentinel 提供两种方式修改规则: 通过 API 直接修改 (loadRules)通过 DataSource 适配不同数据源修改 手动通过 API 修改比较…

AspectCore动态代理中的拦截器详解(一)

前言在上一篇文章使用AspectCore动态代理中,简单说明了AspectCore.DynamicProxy的使用方式,由于介绍的比较浅显,也有不少同学留言询问拦截器的配置,那么在这篇文章中,我们来详细看一下AspectCore中的拦截器使用。两种配…

Actor-ES框架:Ray

并发1. 并发和并行并发:两个或多个任务在同一时间段内运行。关注点在任务分割。并行:两个或多个任务在同一时刻同时运行。关注点在同时执行。本文大多数情况下不会严格区分这两个概念,默认并发就是指并行机制下的并发。2. 好处随着多核处理器…

Sentinel(十五)之在生产环境中使用 Sentinel

转载自 在生产环境中使用 Sentinel 引言 Sentinel 目前已可用于生产环境,除了阿里巴巴以外,也有很多企业在生产环境中广泛使用 Sentinel。 生产环境的 Sentinel Dashboard 需要具备下面几个特性: 规则管理及推送,集中管理和推送规则。se…

Entity Framework Core 懒加载

众所周知在EF 6 及以前的版本中,是支持懒加载(Lazy Loading)的,可惜在EF Core 并不支持,必须使用Include方法来支持导航属性的数据加载。不过现在EF Core的开发团队打算恢复对这一功能的支持(目前还未发布&…

Sentinel(十六)之AHAS Sentinel 控制台

转载自 AHAS Sentinel 控制台 AHAS Sentinel 是 Sentinel 的阿里云上版本,提供企业级的高可用防护服务,包括: 可靠的实时监控和历史秒级监控数据查询,包含 QPS、RT、load、CPU 使用率等指标,支持按照调用类型分类&a…

和各路巨佬の随机挑战3总结

第三次挑战\huge \texttt{\color{purple}第\color{blue}三\color{green}次\color{block}挑\color{red}战}第三次挑战 规则 随机挑取一蓝一紫一黑来做,拥有两次换题机会,若黑题是暂未学过的算法可以拥有无限次换题机会。 van♂van♂van♂成记录 过程 晚…

浅析Entity Framework Core2.0的日志记录与动态查询条件

一、 Entity Framework Core2.0的日志记录早在Entity Framework Core1.0 ,我们就使用相关的ILoggerProvider ILogger 这些基础接口类.来实现过日志记录.在Entity Framework Core2.0 估计是为了配合ASP.NET Core的日志.所以对这些接口进行了更进一步的包装,也弃用了一些接口和类…

Actor-ES框架:Ray--事件(Event)编写说明

Event作用:存储事件数据。IEventBaseK:是Actor的StateId的类型,可以是long、可以是string,Ray一般使用OGuid生成的字符串作为主键。编写Event继承IEventBase接口,Base部分如下: public string Id {…

设计模式之策略模式在地铁票价系统中的应用

引言设计模式是面向对象编程的一个非常精彩的部分。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性,它能帮助我们将应用组织成容易了解,容易维护,具有弹性的架构。本文通过一个简单的案例来讲述策略模式在地铁票价系…

Sentinel(十九)之主流框架的适配

转载自 主流框架的适配 注:适配模块仅提供相应适配功能,若希望接入 Sentinel 控制台,请务必参考 Sentinel 控制台文档。 云原生微服务体系 Spring Cloud Spring Cloud Alibaba 致力于提供微服务开发的一站式解决方案。Sentinel 与 Spring …

利用OCR文字识别+百度算法搜索,玩转冲顶大会、百万英雄、芝士超人等答题赢奖金游戏

【先上一张效果图】:一、原理:其实原理很简单:1.手机投屏到电脑;2.截取投屏画面的题目部分,进行识别,得到题目和三个答案;3.将答案按照一定的算法,进行搜索,得出推荐答案…

Sentinel(二十)之Envoy RLS Token Server

转载自 Envoy RLS Token Server Sentinel 提供了一个 Envoy Global Rate Limiting gRPC Service 的实现 sentinel-cluster-server-envoy-rls,借助集群限流 token server 来为 Envoy 服务网格提供集群流量控制的能力。 Note: You can refer to here for the Englis…

g4e基础篇#5 创建分支和保存代码

使用版本控制系统最常见的工作流程就是修改代码,保存代码,共享代码。Git提供了一个简单的3步工作流,让你方便的完成这些操作。1. 新建工作分支2. 提交更改3. 推送分支到中心存储库与团队成员共享Git 工作流按照以上3步操作,我们就…

P3952-时间复杂度【模拟】

正题 题目链接:https://www.luogu.org/problemnew/show/P3952 题目大意 比较复杂就直接给截图了 解题思路 开一个栈来维护序列,因为它保证合法的程序中一个变量不会相互嵌套所以就拿变量的字母当做每个循环的下标即可。然后对于输入的x,yx,yx,y有五种情况 xN,yN…

一步步部署基于Windows系统的Jenkins持续集成环境

如题:本文将介绍如何在Windows环境下运用Jenkins部署持续集成环境。之所以写本文,是因为在最近工作当中,学习使用Jenkins时,确实遇到了一些问题,而大多数教程文档都是基于Mac或是Linux平台。为此很是头疼,经…