在上一篇文章里我们已经成功的在模拟器中运行了我们的Hello World程序,在这里我先纠正之前的一个错误。之前我以为MonoDroid只能创建2.2以上版本的程序,所以当时我让大家只下载Android SDK 2.2版本,但事实上MonoDroid可以支持的最低版本是1.6,可以在项目的属性中进行设置。首先在解决方案资源管理器中你的项目名上右键,然后点击属性,VS就会打开项目属性窗口,然后在Minimum Android to Target下拉框中选择相应的版本即可。如下图:
接下来的问题很自然就是,既然我们的程序可以在模拟器中运行,那到底能不能在我们实际的手机中运行呢?这才是最关键的。首先我们先看看项目部署完以后生成了什么东西。打开你的项目所在的文件夹,bin/Debug/目录,可以看到,生成了一个dll,mdb,pdb和两个apk,既然有apk,那就有戏,我把手机通过usb连到我的pc以后,把这两个apk都拷到了我的手机sd 卡中,先运行文件名不带-Signed的apk,结果报错,再试试带-Signed的,安装成功,心情兴奋加激动,马上打开程序,结果报错,无法运行。看了一下apk文件的大小,大概是100多K,估计是没有把Mono的运行时一并打包安装造成的,遂马上寻找解决方案。通过与官网的技术人员沟通得知,解决此问题有两种方案:
一,将C:/Program Files/MSBuild/Novell/Mono.Android.DebugRuntime-debug.apk和C:/Program Files/MSBuild/Novell/platforms/下对应你手机Android版本的文件夹下的Mono.Android.Platform.apk这两个文件一起拷到你的手机并安装。
二,使用Release版本来生成你的程序。
显然,如果用第一种方法的话,我们做一个Hello World程序需要三个安装文件是极为不妥的,再加上运行时和平台这两个apk都在14M大小左右,所以可以否定第一种方法了。那我们就采用第二种方法,生成Release版本,注意在项目属性中,Linking需要选择 “Sdk Assemblies only”,UseSharedRuntime必须不勾选,如下图:
生成后在Release文件中也会有两个apk,只拷贝文件名带-Signed的apk到你的手机进行安装,然后运行,OK,你的Hello World终于可以在你的手机运行了。
由Release生成的apk大小为4M+,不得不说也是一个巨无霸了,毕竟这只是一个简单的Hello World程序而已,MonoDroid程序继承了.net程序需要运行平台的这个缺点,只是从.net framework变成了mono runtime而已。如果认为使用MonoDroid开发的程序大得无法接受,那么现在放弃还来得及~~
分享到:
相关推荐
MonoDroid学习笔记 网络整理 经典
在深入探讨JAVA学习笔记之前,我们首先理解一下JAVA这一编程语言的重要性。JAVA,由Sun Microsystems公司(现已被Oracle收购)于1995年推出,是一种面向对象的、跨平台的编程语言,以其“一次编写,到处运行”的特性...
Python 笔记源码——内含python后端&机器学习等.zip Python 笔记源码——内含python后端&机器学习等.zip Python 笔记源码——内含python后端&机器学习等.zip Python 笔记源码——内含python后端&机器学习等.zip ...
Android学习笔记(二)android studio基本控件及布局(实现图片查看器) Android学习笔记(三)android studio中CheckBox自定义样式(更换复选框左侧的勾选图像) Android学习笔记(四)Android 中Activity页面的...
在学习过程中,笔记作者还加入了一些个人理解和扩展部分,这可能包括对某些技术点的深入探讨、常见问题的解决方法或者是实战项目的经验分享。通过阅读这些笔记,学习者不仅可以掌握前端开发的基本技能,还能了解到...
个人网课学习笔记
学习笔记之——基于pytorch的FSRCNN 把我的代码上传了,后续有更正会更新这个代码
RRT学习笔记——记录
在这些学习笔记中,你可能会看到这两个术语的交替使用。 接下来,我们将深入探讨这套笔记可能涵盖的一些关键知识点: 1. **安装与配置**:笔记会详细介绍如何在Windows上安装Visual Studio,以及如何配置Mono for ...
Spring.NET学习笔记22——整合WCF(应用篇) http://www.cnblogs.com/GoodHelper/archive/2010/05/15/SpringNet_Wcf.html
2024数据结构——学习笔记——入门必看【建议收藏】2024数据结构——学习笔记——入门必看【建议收藏】2024数据结构——学习笔记——入门必看【建议收藏】2024数据结构——学习笔记——入门必看【建议收藏】2024数据...
刘冬编写Spring.NET学习笔记25——整合Quartz.NET例子。 原文: http://www.cnblogs.com/GoodHelper/archive/2009/11/20/SpringNet_QuartzNet.html
刘冬编写的Spring.NET学习笔记26——整合NVelocity例子。 原文:http://www.cnblogs.com/GoodHelper/archive/2009/11/20/SpringNet_NVelocity.html
"Java学习笔记——良葛格"是一份专为初学者设计的教程资料,由良葛格精心编写,旨在帮助读者掌握JDK5.0版本的Java基础知识。JDK(Java Development Kit)是Java开发的核心工具集,包含了编译器、调试器和运行环境等...
刘冬编写的Spring.NET学习笔记21——整合WebService的例子。 原文:http://www.cnblogs.com/GoodHelper/archive/2009/11/19/SpringNet_WebService.html
这篇文章是基于“Android Training”系列的学习笔记,主要探讨了App Bar的设计原理和参考源码分析。下面将详细阐述App Bar的相关知识点。 首先,App Bar是Android设计指南中推荐的用户界面元素,它位于屏幕顶部,...
Go语言,又称Golang,是一种静态类型的编程语言,由Google开发,于2007年首次对外公布,并在2009年进行了...通过本学习笔记的内容,我们可以对Go语言有一个全面而系统的认识,为深入学习和应用Go语言打下坚实的基础。