如果是.NET开发人员,想学习手机应用开发(Android和iOS),Xamarin 无疑是最好的选择,编写一次,即可发布到Android和iOS平台,真是利器中的利器啊!好了,废话不多说,就开始吧,本文将描述基础环境的搭建,以及将应用在android环境中调试、发布、运行,iOS部分将在后面的文章中专门讲解。

一.搭建环境

1. 安装 VS2015。

2. 安装 Xamarin。我安装的是目前的最新版本:Xamarin.VisualStudio_4.2.0.703.msi。

3. 安装JDK:我安装的是目前的最新版本:jdk1.7.0_71。

4. 下载 Android SDK。

(1)下载完成后, Android SDK 目录下有两个exe:AVD Manager.exe 和 SDK Manager.exe。

(2)SDK Manager 用于管理不同版本的SDK,在其管理界面中可以下载新版本的SDK或升级旧版本的SDK。

    

    我下载了版本号的5.1.1,6.0,7.0的SDK(其文件目录在子文件夹platforms下)。这些版本的SDK会在项目编译时用到,以及安卓模拟器也会用到它们。

(3)AVD Manager.exe 用于管理安卓模拟器。

   

    与SDK的版本号对应,我创建了三个安卓模拟器,供调试时使用。

5. 在VS中配置Xamarin选项。

     

  由于我暂时没有用到原生的安卓开发,所以,我没有配置NDK。

二. 新建Xamarin.Forms项目、编译、部署、调试

  Xamarin.Forms 是Xamarin提供的一个套件,用于跨移动平台的Form应用开发,所以,如果是使用Xamarin开发App,那么,Xamarin.Forms 将是很好的选择。

1.新建一个Cross-Platform跨平台项目,选择Xaml App(Portable)。

  

   Xaml App 与 普通的App的区别在于, Xaml App是使用Xaml文件来控制Form上的控件的布局的。

2.项目新建成功后,会在解决方案管理器中,生成三个项目。

   

   ESFramework.XamarinDemo 是可移植的类库,App的绝大部分逻辑和UI都是在其中完成。

   ESFramework.XamarinDemo.Droid 对应了安卓版本,ESFramework.XamarinDemo.iOS 对应了iOS版本,它们都引用了 ESFramework.XamarinDemo 项目。

   对于一般简单的应用而言,只需要在ESFramework.XamarinDemo中编写代码就可以了,ESFramework.XamarinDemo.Droid 和 ESFramework.XamarinDemo.iOS中的代码几乎不用动。  

3.编译 ESFramework.XamarinDemo.Droid 项目

  

  在项目属性面板中,要选择编译所使用的安卓SDK的版本号,我选择的是6.0。

4.部署、调试

  编译成功后,就可以尝试部署到虚拟机,并运行调试了。

(1)启动安卓虚拟机。

  运行上述的AVD Manager.exe ,我选择了自己创建的and6虚拟机,点击界面右侧的Start按钮,启动一个虚拟机实例。

  

(2)部署并运行

  在VS上的工具栏,选择刚才启动的虚拟机实例and6,点击调试按钮(绿色的三角形),即可开始部署、运行的流程。(注意,要选择Debug模式)

  

(3)调试

  部署运行成功后,模拟器就会显示demo App 的UI界面:

    

  此时,可以在源码中加入断点开始调试程序了。

三. 发布 apk

1.将项目切换到Release。

2.设置清单信息Manifest

  

  包括:应用的名称、apk包的名称、图标、版本号、权限等。

3.设置Linker

  

  Linking 设置为none,意味着要将所有的SDK打包到apk中,这样,一个apk至少是40多M。

  Linking 一般设置为 SDK Assemblies Only,表示 apk 使用手机中自带的SDK。

4.Archive - 存档apk

  

  在发布apk之前,先要Archive得到apk。注意:Archive得到的apk不能直接部署到手机真机,运行会闪退。还需要经过最后的Distribute正式发布。

5.Distribute

  在Archive成功后,会出现如下界面:

  

   点击Distribute按钮,进入发布apk的流程。首先,要对apk进行签名:

  

  如果是第一次走这个流程,先要点击绿色的“+”,创建一个密钥文件,然后选择它,再点击“Save As”按钮,即可保存签名后的apk。  

6.拷贝到真机

  将上述得到的ESFramework.XamarinDemo.apk,拷贝到真机,就可以安装了。晚装完毕,点击图标,即可运行我们的demo App了。

四.结语

  以上的整个流程是我们在为ESFramework通信框架的Xamrain版本实现一个入门Demo时,完整的记录,希望对刚刚开始研究Xamrain开发的朋友有所帮助。

  后续的文章,我们将介绍这个Demo的后续开发过程,基于Xamarin实现手机与PC互通的的IM 聊天小程序。

Xamarin 跨移动端开发系列(01) -- 搭建环境、编译、调试、部署、运行的更多相关文章

  1. php从入门到放弃系列-01.php环境的搭建

    php从入门到放弃系列-01.php环境的搭建 一.为什么要学习php 1.php语言适用于中小型网站的快速开发: 2.并且有非常成熟的开源框架,例如yii,thinkphp等: 3.几乎全部的CMS ...

  2. Vue.js + Element.ui 从搭建环境到打包部署

    一.搭建环境 由于新的node已经集成了npm,所以直接安装node,前往node官网下载最新版本的node,根据自己的操作系统选择相应的包,按照步骤一步步走就可以,这里不做过多介绍. 安装好后可以打 ...

  3. Android开发系列之搭建开发环境

    接触Android好久了,记得09年刚在中国大陆有点苗头的时候,我就知道了google有个Android,它是智能机操作系统.后来在Android出1.5版本之后,我第一时间下载了eclipse开发工 ...

  4. VS2015下的Android开发系列01——开发环境配置及注意事项

    概述 VS自2015把Xamarin集成进去后搞Android开发就爽了,不过这安装VS2015完成的时候却是长了不知道多少.废话少说进正题,VS2015安装时注意把Android相关的组件勾选安装, ...

  5. nodejs辅助前台开发系列(1) 搭建简单HTML开发环境

    搭建简单的html开发环境一般需要解决两个问题: 文本编辑器 WebServer集成 在文本编辑器选择上,VS Code 无疑是一匹黑马,谁用谁知道.WebServer集成nodejs对前端来说最为友 ...

  6. 【Vue 学习系列 - 01】- 环境搭建(Win7)

    1. 根据系统下载Node.js 下载地址:http://nodejs.cn/download 2. 安装Node.js 点击安装Node.js,在安装目录D:\Program Files\nodej ...

  7. Xamarin.Forms移动开发系列2:创建和调试

    摘要 本文将介绍如何通过VS2019创建Xamarin.Forms应用程序,以及如何进行调试. 前言 本文介绍Xamarin.Froms应用程序的创建和调试. 开发环境 1.Visual Studio ...

  8. cocos2d-x游戏开发系列教程-搭建cocos2d-x的windows开发环境

    1.在上一篇中我们成功运行了HelloCpp和TestCpp工程,我们到目录cocos2d-x-2.2.1\Debug.win32下 查看生成的文件,在我电脑上绝对路径是H:\source\cocos ...

  9. 阶段3 3.SpringMVC·_05.文件上传_5 文件上传之跨服务器上传分析和搭建环境

    使用这个jar包来跨服务器上传 搞两个tomcat.一个springmvc一个fileupload 选中tomcat server点击左边的加号 需要改端口和JMX pport这个端口 部署文件上传的 ...

随机推荐

  1. oracle数据库升级记(记一次10.2.0.3版本升级到11.2.0.1版本的过程)

    操作系统:windows xp 已有数据库版本:10.2.0.3 升级目标版本:11.2.0.1 步骤大纲: 在源操作系统(安装有10.2.0.3数据库的操作系统)上安装11.2.0.1数据库软件,然 ...

  2. TCP/IP协议和HTTP协议 浩哥指教

    TCP和IP在HTTP协议的上层,HTTP算是应用层,IP协议建立的是电脑跟电脑之间的联系,具体过程是,物理上,通过网线,解析MAC地址,到达路由,路由告诉数据将要去哪里,对方电脑通过NDS解析,解析 ...

  3. SQL Server客户端登录名与数据库用户关联

    数据库迁移之后,在新的SQL Server客户端工具设置关联时,往往会报错: 用户.组或角色 'XXX' 在当前数据库中已存在. 解决方法: 首先介绍一下sql server中“登录”与“用户”的区别 ...

  4. [WPF]建立自适应窗口大小布局的WinForm窗口

    编写WinForm程序时,都会碰到一个问题.就是WinForm窗口在不同分辨率下的大小问题.举例说明,你编写的WinForm窗口在1024×768下是合适.匀称的.不过,如果用户的计算机的分辨率为14 ...

  5. Linux 查看进程、清理缓存、查看磁盘空间、查看宽带的命令

    一.查看进程 查看所有的进程命令:ps 查看指定的进程命令:ps -ef|grep java (java 指的是服务名称) 结束进程命令:kill -9  9028 (9028指的是PID) 二.清理 ...

  6. oracle的加密和解密

    加密函数 create or replace function encrypt_des(p_text varchar2, p_key varchar2) return varchar2 isv_tex ...

  7. 基于Chrome内核(WebKit.net)定制开发DoNet浏览器

    1.    源起 a)     定制.Net浏览器 本人是一名C#开发者,而作为C#开发者,做客户端应用中最头痛的一件事就是没有一个好的UI解决方案, WinFrom嘛,效率虽然还不错,但是做一些特殊 ...

  8. chrome 浏览器 手动同步书签 && 安装离线插件

    现在查的很严,所以使用chrome浏览器 同步功能不是特别好,就算是FQ也会出现 同步延迟的情况,所以定时使用手动同步还是很靠谱的行为,就在网上找了下,借鉴下.亲测可用. 在Chrome浏览器没有一个 ...

  9. JS与Jquery学习笔记(二)

    一. JS 的面向对象 JS没有类,其类就用function来代替如下所示: function Cat(name, color){ this.name=name; this.color=color; ...

  10. 「2014-3-17」C pointer again …

    记录一个比较基础的东东-- C 语言的指针,一直让人又爱又恨,爱它的人觉得它既灵活又强大,恨它的人觉得它太过于灵活太过于强大以至于容易将人绕晕.最早接触 C 语言,还是在刚进入大学的时候,算起来有好些 ...