[转发]在Visual Studio 2010/2012/2013/2015上使用C#开发Android/IOS安装包和操作步骤

简介: 官方学习文档:http://developer.xamarin.com/guides/android/getting_started/ 官方学习例子:http://developer.xamarin.com/samples/android/all/ Xamarin 配置手册和离线包下载  http://pan.baidu.com/s/1eQ3qw8a 具体操作: 安装前提条件(在这里演示通过的是vs2013+up4) 1、 安装Visual Studio 2013,安装过程省略,我这里安装的windows10 + vs2013 with update 4。

官方学习文档:http://developer.xamarin.com/guides/android/getting_started/

官方学习例子:http://developer.xamarin.com/samples/android/all/

Xamarin 配置手册和离线包下载 

http://pan.baidu.com/s/1eQ3qw8a

具体操作:

安装前提条件(在这里演示通过的是vs2013+up4)

1、 安装Visual Studio 2013,安装过程省略,我这里安装的windows10 + vs2013 with update 4。

2、 安装Java SDK,按照Next一步步安装,此处省略,如下图:

clip_image002

3、 安装Android SDK:因为在线安装的访问google存在问题,而且速度慢,这里采用离线安装包,拷贝Android SDK到指定目录

clip_image004

我这里拷贝到C:\Program Files (x86) 如下图:

clip_image006

4、 安装Android NDK:这里拷贝Android NDK离线包,如下图:

clip_image008

这里指定拷贝到C:\Program Files (x86) 如下图:

clip_image010

5、 安装Xamarin,按照Next一步步安装(安装时注意选择你的VS版本)

环境配置

1. 配置JDK

打开【我的电脑】属性-【高级系统设置】-【环境变量】如下图:

clip_image012

1) 第一“JAVA_HOME:JAVA_HOME的内容是jdk安装目录。如小编安装的位置C:\Program Files (x86)\Java\jdk1.7.0_60,并且后边不带分号如下图:

clip_image013

2) 第二,检查CLASSPATH,这是一个jar包的调用。.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;(前面有点号和分号,后边结尾也有分号。或者可以写成“.;%JAVA_HOME%\lib”如图所示,一样的效果。如下图:

clip_image014

3) 第三检查“PATH"变量是否正确,PATH变量很简单,就是jdk的bin目录的意思。%JAVA_HOME%\bin;

clip_image015

4) 安装了JDK的话,正常CMD下输入JAVAC时一定可以成功的。就会有如下信息提示

clip_image017

2. 破解Xamarin

1) 破解Android:复制

 mandroid.exe 到 %PROGRAMFILES(x86)%\MSBuild\Xamarin\Android

 在cmd命令里切换到%PROGRAMFILES(x86)%\MSBuild\Xamarin\Android目录下运行以下命令进行注册:

mandroid.exe --activate --activation-name=b4a --activation-phone=b4a --activation-company=b4a --activation-code=b4a --activation-email=b4a

 

详细步骤如下:

回车后如图:

在光标后面输入上面的一串字符:

然后回车就完成注册了

2) 检查是否注册成功

 运行命令:mandroid.exe --entitlements > "%temp%"\mfa.txt

 再运行命令:type "%temp%"\mfa.txt

注意:如果出现类似于 "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx MonoAndroid Priority2015-08-26T05:52:36"的形式则表明注册成功。

3)破解iOS:复制 mtouch.exe 到 %PROGRAMFILES(x86)%\MSBuild\Xamarin\iOS

在cmd命令里切换到%PROGRAMFILES(x86)%\MSBuild\Xamarin\iOS目录下运行以下命令进行注册:

mtouch.exe --activate --activation-name=b4a --activation-phone=b4a --activation-company=b4a --activation-code=b4a --activation-email=b4a

3. 更新Android SDK

打开SDK Manager,如下图:

clip_image019

我这里离线包,版本23.0.5,如果发现如下platform-tools有更新,可以更新一下

clip_image021

注意:

继续更新SDK下图中的这些Android X.X.X都是不同版本的android系统开发包,你想进行哪个版本的开发,就下载哪个,高版本兼容低版本,也就是你开发一个API 10版本的App,高版本系统的也可以运行。所以你至少应该有最新版本和一个使用比较广泛的低版本,比如API 8

 

消除SDK更新时的“https://dl-ssl.google.com refused”异常:更新的时候,国内无法连接google 服务器,可以使用代理,FreeGate就行

解决办法是:将https://修改为http:// 
修改方法是:如下图,在Android SDK Manager->Tools-Options...选项界面, 
将“Force https://… sources to be fetched using http://…”勾选!

clip_image023

如果还有错,可以在文件(C:\Windows\System32\drivers\etc\hosts)中,添加如下几行:

203.208.46.146 www.google.com

203.208.46.146 dl.google.com

203.208.46.146 dl-ssl.google.com

 

4. 配置VS2013的SDK和NDK路径

打开VS2013的【工具】-【选项】,如下图:

clip_image025

好了,这个时候你就可以开始开发了。安装好android模拟器,就可以连接模拟器调试了

开发例子

打开VS2013,建立一个VS2013的Android的项目,如下图:

clip_image027

clip_image029

Ø 点击Android模拟器,配置模拟器,如下图:

clip_image031

点【创建】

clip_image033

这里新建模拟器AVD

clip_image035

启动模拟器,如下图:

clip_image037

启动后如下图:

clip_image039

点【Launch】后,点击后如下图:

clip_image041

正在启动。。。。

clip_image043

等待启动完毕后效果如下:

clip_image045

Ø 在VS2013按F5开始启动安卓应用,第一次会把安卓应用安装到模拟器中,如下图:

clip_image047

clip_image049

clip_image051

模拟器Genymotion安装

由于android SDK提供的模拟器是在是巨慢无比,太差劲了,所以不得不找一个替代品。基于Virtual Box的GenyMotion绝对是最佳选择,运行速度非常流畅,不过目前只支持Android4.1.1、4.2.2。

在官网:http://www.genymotion.com/注册好账号,并下载安装GenyMotion,目前最新版本为1.3.0。

安装之前需要你的电脑上已经安装Virtual Box(目前最新版为4.3.2),不过我发现我安装了Virtual Box 4.3.2的情况下GenyMotion无法启动,所以后来又换成官方推荐的4.2.12,从https://www.virtualbox.org/wiki/Download_Old_Builds_4_2下载。

安装完成之后:

· 通过”Settings”按钮:设置好Android SDK路径,并勾选”When a virtual devices starts, connect it automatically to ADB”,”ADB from Android Developer Tools successfully found”。

· 通过“Add”按钮

· 添加设备,然后需要登录

· 如果所选的设备镜像没有下载,则需要在线下载某个设备的vbox镜像,一般镜像大小为200M。

· 通过向导提示添加虚拟机,输入名称如“lwme Nexus S - 4.2.2 - with Google Apps - API 17 - 480x800”,再等待虚拟机创建好

· 通过“Play”按钮运行虚拟机

虚拟机启动之后,VS的Xamarin.Android工具栏会列出设备的名称,选择这个设备就可以在GenyMotion模拟器上调试Android应用程序了。

 

Ø genymotion常见问题解答

必须支持OpenGL

1、出现"Unable to load VirtualBox engine"提示,之后无回应。

答:

1、请至C:\Users\USER\AppData\Local\Genymobile,寻找一名为Genymotion的记事本txt档案。打开后会看到密密麻麻的一大串,Ctrl+F搜寻" found in settings "往后一点,会看到一个路径,接着请按照上面的路径重新安装即可。 
2、看看网上邻居里面是否有安装vbox时建立的连接,默认的名字一般为“VirtualBox Host-Only Network”,看看这个连接是否被禁用,如果禁用的话也会有这样的提示。 
3、看看系统的用户名是不是中文的,如果是中文改成英文的,卸载后重新安装。 
4、看看是不是安装的时候开了杀毒软件,如果开了,退出杀毒软件,卸载后重新安装。

VisualGDB调试Android

1. 安装VisualGDB,破解版本

clip_image053

² 安装VisualGDB-4.2r4-trial.msi

² 将Crack下的VisualGDB.exe覆盖安装目录下的文件,安装路径默认为C:\\Program Files\\Sysprogs\\VisualGDB

2. 下载并安装VisualGDB, 安装完成后,在Visual Studio的目录中可以看到Android选项:

clip_image055

clip_image057

clip_image059

clip_image061

clip_image063

clip_image065

附带

Vbox和Vmware两款产品都支持3D加速,但有不小区别。那就是对OpenGL和DirectX的支持不一样,vmware不支持OpenGL的加速只能通过cpu模拟,而vbox两者均可以通过显卡加速。因此Ubuntu的compiz效果在vmware中是不能使用的,而vbox却可以,想体验compiz的请绕行vmware。再来说DirectX,vbox:dxdiag,dx7接口报错,dx8,dx9接口正常。3dmark06,报不支持pixel shader 2.0。vmware:dxdiag,dx7-9接口正常,3dmark06,正常,和host差100多分。 实际使用中,vmware中有些3D游戏不能运行。

 

常见问题,如果出现“程序“Mono”已退出,返回值为 0 (0x0)。”,你可以尝试这么设置

工作原理

Android应用程序会被编译为IL代码,启动时再进行JIT编译(动态编译),发布程序的时候会包含一个mono runtime。而iOS则是直接通过AOT编译(静态编译)为ARM汇编代码.C#程式码直接编译成ARM CPU的机器码. 因此效能将与原生模式开发的应用程式相比, 没有不同甚至更好. 而在Android 系统上, 由于Xamarin 不使用Android的Dalvik 虚拟机器, 改为采用CLR, 经测试其效能更甚于原生的应用程式.

Xamarin 配置手册和离线包下载 

http://pan.baidu.com/s/1eQ3qw8a

学习资料:http://xamarin.csdn.net/module/btc/xamarin/blog

转发自:http://www.shaoqun.com/a/105700.aspx

 

学习交流群:364976091
相关文章
|
24天前
|
搜索推荐 Android开发 iOS开发
安卓与iOS系统的用户界面设计对比分析
本文通过对安卓和iOS两大操作系统的用户界面设计进行对比分析,探讨它们在设计理念、交互方式、视觉风格等方面的差异及各自特点,旨在帮助读者更好地理解和评估不同系统的用户体验。
18 1
|
27天前
|
API 数据安全/隐私保护 iOS开发
利用uni-app 开发的iOS app 发布到App Store全流程
利用uni-app 开发的iOS app 发布到App Store全流程
83 3
|
1天前
|
API 定位技术 iOS开发
IOS开发基础知识:什么是 Cocoa Touch?它在 iOS 开发中的作用是什么?
【4月更文挑战第18天】**Cocoa Touch** 是iOS和Mac OS X应用的核心框架,包含面向对象库、运行时系统和触摸优化工具。它提供Mac验证的开发模式,强调触控接口和性能,涵盖3D图形、音频、网络及设备访问API,如相机和GPS。是构建高效iOS应用的基础,对开发者至关重要。
8 0
|
16天前
|
开发工具 Swift iOS开发
利用SwiftUI构建动态用户界面:iOS开发新范式
【4月更文挑战第3天】 随着苹果不断推进其软件开发工具的边界,SwiftUI作为一种新兴的编程框架,已经逐渐成为iOS开发者的新宠。不同于传统的UIKit,SwiftUI通过声明式语法和强大的功能组合,为创建动态且响应式的用户界面提供了一种更加简洁高效的方式。本文将深入探讨如何利用SwiftUI技术构建具有高度自定义能力和响应性的用户界面,并展示其在现代iOS应用开发中的优势和潜力。
|
22天前
|
搜索推荐 Android开发 iOS开发
安卓与iOS操作系统的发展与比较
在移动互联网时代,安卓和iOS两大操作系统在智能手机市场竞争激烈。本文将从技术架构、生态系统、用户体验等方面对安卓和iOS进行比较分析,探讨它们各自的特点和发展趋势。
|
1月前
|
Web App开发 前端开发 网络安全
前端分析工具之 Charles 录制 Android/IOS 手机的 https 应用
【2月更文挑战第21天】前端分析工具之 Charles 录制 Android/IOS 手机的 https 应用
47 1
前端分析工具之 Charles 录制 Android/IOS 手机的 https 应用
|
1月前
|
人工智能 算法 Android开发
探索未来:Android与iOS在人工智能时代的融合与创新
【2月更文挑战第13天】 在数字化时代的快速发展下,Android与iOS作为两大主流移动操作系统,它们在人工智能(AI)领域的融合与创新已成为推动科技进步的关键力量。本文将从操作系统的核心功能拓展、AI技术的集成应用,以及开发者生态系统的演变三个维度,深入探讨Android和iOS如何在AI时代实现协同发展,以及这一进程对用户体验、应用开发和行业趋势产生的深远影响。通过对比分析和案例研究,我们旨在揭示两大平台在AI驱动下的创新路径,及其对未来科技格局的塑造作用。
|
1月前
|
人工智能 自然语言处理 语音技术
探索未来:安卓与iOS在人工智能领域的竞争与合作
【2月更文挑战第12天】本文深入探讨了安卓和iOS两大操作系统在人工智能(AI)领域的发展现状、竞争态势及未来合作可能性。通过对比分析两系统在AI技术集成、开发者支持、用户体验优化等方面的表现,揭示了它们各自的优势与挑战。文章最终展望了一个既有竞争又充满合作的未来,认为安卓和iOS的共同进步将推动整个人工智能技术向前发展,为用户带来更加智能、便捷的生活体验。
|
1月前
|
搜索推荐 Android开发 iOS开发
探索未来:安卓与iOS双系统的融合与创新
【2月更文挑战第12天】 在数字化时代,智能手机操作系统的发展不仅代表了技术的进步,更是用户体验革新的前沿。本文深入探讨了安卓和iOS这两大主流操作系统的未来走向,特别是它们在技术融合与创新方面的可能性。通过分析当前的市场需求、技术挑战和潜在的发展机会,我们将展望一个可能出现的未来场景:一个结合了安卓开放性和iOS优雅体验的双系统融合平台。这不仅仅是对技术极限的挑战,更是对用户体验极致追求的一次探索。
36 2
|
1月前
|
人工智能 搜索推荐 Android开发
探索未来:安卓与iOS在人工智能时代的融合趋势
【2月更文挑战第12天】 在这篇探索性文章中,我们将深入分析安卓和iOS两大移动操作系统在人工智能(AI)时代的融合趋势。随着技术的飞速发展,AI已成为推动智能手机进化的关键力量。本文通过对安卓和iOS各自在AI领域的最新进展进行比较,揭示了两大平台如何在保持各自特色的同时,也在向着更加智能、更加个性化的方向发展。我们不仅聚焦于当前的技术现状,而且还将展望未来,探讨这一趋势对用户体验、应用开发以及整个科技生态的深远影响。