Mono for Android试用体验

[来源] 达内    [编辑] 达内   [时间]2012-10-30

Mono for Android(原名MonoDroid)是xamarin推出的一个款基于Mono的Android应用开发工具,允许用户使用C#和.Net类库开发Android应用。

Mono for Android(原名MonoDroid)是xamarin推出的一个款基于Mono的Android应用开发工具,允许用户使用C#和.Net类库开发Android应用。
是不是有些神奇?Android不是应该用Java开发么?哈哈,因为xamarin那一帮牛人重写了个C#编译器,使得C#代码能够编译成Java字节码。这就好理解了吧。

环境要求

我的本子是Mac OS X 10.8,就以此为例:
1、Java SDK 1.6/1.7
配好了Android环境的同学,就略过吧。
2、Android SDK
这个也是必须的。
3、Mono Framework
Windows系统好像可以直接用.Net Framework,Mac就只好装一下了。
4、MonoDevelop
Windows可以用Visual Studio。
5、Mono for Android
最后才是这个开发包

安装时候的问题

官方文档说,Android SDK应该放在/Developer/SDKs目录下。然而,即使我安放正确了,Mono for Android安装时仍然提示找不到Android SDK,又给我下了安装一遍...

第一个应用

运行MonoDevelop,创建应用之前,配置一下SDK的路径。Preferences -> Other -> SDK Locations,设置下Android SDK的路径就好:

< p style="line-height: 19px; margin: 10px auto; text-indent: 0px; color: rgb(75, 75, 75); font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-align: -webkit-auto; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); ">

< p style="line-height: 19px; margin: 10px auto; text-indent: 0px; color: rgb(75, 75, 75); font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-align: -webkit-auto; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); ">接下来就可以创建应用了,新建一个解决方案,语言C#,类型选Mono for Android Application。
缺省的API版本是8,如果你没有装API 8(Android 2.2),直接调试就会出错。这个可以在项目属性里配置:

< p style="line-height: 19px; margin: 10px auto; text-indent: 0px; color: rgb(75, 75, 75); font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-align: -webkit-auto; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); ">

< p style="line-height: 19px; margin: 10px auto; text-indent: 0px; color: rgb(75, 75, 75); font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-align: -webkit-auto; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); ">免费版的Mono for Android只能去模拟器调试,想要用真机调试的话,就得花钱。最便宜的399刀...
跑一下模拟机,看看缺省项目的效果:

< p style="line-height: 19px; margin: 10px auto; text-indent: 0px; color: rgb(75, 75, 75); font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-align: -webkit-auto; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); ">

< p style="line-height: 19px; margin: 10px auto; text-indent: 0px; color: rgb(75, 75, 75); font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-align: -webkit-auto; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); ">没啥差别吧?哈哈

感觉MonoDevelop的界面还不错,至少我觉得比Eclipse好:

< p style="line-height: 19px; margin: 10px auto; text-indent: 0px; color: rgb(75, 75, 75); font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-align: -webkit-auto; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); "> 

< p style="line-height: 19px; margin: 10px auto; text-indent: 0px; color: rgb(75, 75, 75); font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-align: -webkit-auto; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); ">

< p style="line-height: 19px; margin: 10px auto; text-indent: 0px; color: rgb(75, 75, 75); font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 13px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-align: -webkit-auto; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); ">看上去挺不错的样子,你是不是也想试试了呢?
哈哈,去试试吧。不过,如果想要在生产环节中使用,我觉得还是得谨慎考虑。且不说钱的事儿,Mono for Android的用户毕竟少,遇到问题找人问也不容易呢。

资源下载