zoukankan      html  css  js  c++  java
  • 让你的App在你的手机上跑起来 MonoDroid

    转  http://blog.csdn.net/ojlovecd/article/details/6292702 

    在上一篇文章里我们已经成功的在模拟器中运行了我们的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”,Use Shared Runtime必须不勾选,如下图:

        生成后在Release文件中也会有两个apk,只拷贝文件名带-Signed的apk到你的手机进行安装,然后运行,OK,你的Hello World终于可以在你的手机运行了。

        由Release生成的apk大小为4M+,不得不说也是一个巨无霸了,毕竟这只是一个简单的Hello World程序而已,MonoDroid程序继承了.net程序需要运行平台的这个缺点,只是从.net framework变成了mono runtime而已。如果认为使用MonoDroid开发的程序大得无法接受,那么现在放弃还来得及~~

  • 相关阅读:
    yii2权限控制rbac之rule详细讲解
    yii2权限控制rbac之详细操作步骤
    安装 Autoconf, Automake & Libtool
    Linux查看物理CPU个数、核数、逻辑CPU个数
    Nginx端口占用问题
    Druid加密
    Ubuntu16.04安装Zabbix3.2(快速安装教程)
    飞冰ICE
    BeiDou开源项目
    Arthas开源项目
  • 原文地址:https://www.cnblogs.com/weixing/p/3106446.html
Copyright © 2011-2022 走看看