安卓系统上安装.net运行时 mono runtime
感谢以下博主:
ubuntu指南 http://dawndiy.com/archives/229/
img大小调整 http://zebinj.blog.163.com/blog/static/206290199201412114912137/
mono 编译 http://www.linuxdot.net/bbsfile-3090
最近闲来无事,翻出了我雪藏已久的安卓小平板,别小看我这个7存的小平板,怎么说还能开一两个网页,卡卡的看下视频...
废话不多说,no pictrue i don't say:

需要准备的工作:
- 设备需要root权限
- Android Terminal Emulator (终端模拟器) :用于运行 shell 脚本 Google Play
- BusyBox :用于提供 shell 命令的支持 Google Play
- Ubuntu 12.04 的映像文件:用于安装 Ubuntu 的映像文件 选择下载: Full、Small、Core
- ubuntu.sh :Ubuntu 的安装脚本 下载
- bootscript.sh:Ubuntu 的启动脚本 点这里下载
中途安装 BusyBox出了点意外,大家留意一下,如果你也出现重新开机还原的问题,请重新安装BusyBox到system/bin目录下
1.安装文件下载
首先就是下载必要的文件,上面讲到的需要的 Ubuntu 12.04 的映像文件,这个是在 sourceforge.net 上的一个叫 Linux-on-Android 的项目。我上面给的地址中有三个包可供下载:

其实下面就有英文的介绍,我就在这里简单介绍一下:
- full 映像包含了完整的 Ubuntu 系统,其中包括 Unity 桌面,还有很多如GIMP等常用软件,非常齐全。需要 3.5G 以上空间。
- small 映像包含了的基本的 Ubuntu 系统,其中包括 LXDE 桌面,需要 2G 以上空间。
- core 映像包含了基础的 Ubuntu 系统,不过这个没有GUI的,也就是没有桌面只有命令行。
上面下载的就是待安装的 Ubuntu 12.04 的映像文件,然后我们安装还需要安装脚本,也就是上面说的 ubuntu.sh
,还有安装后的启动脚本 bootscript.sh 。有了这些文件后我们在手机的SD卡的根目录,新建一个文件夹取名为 ubuntu
,然后把这里我们刚才下载好的文件放到这个文件夹里面,到这里 ubuntu 文件夹里就分别有
ubuntu.img、ubuntu.sh、bootcript.sh 这三个文件了。
2.安装软件
先展示一下我们需要的三个软件,如图:

首先需要的是 Terminal 这个软件,也就是一个终端,通过终端我们可以用来执行很多命令和脚本。上面我给出了Google Play的地址,这个在很多地方都有的下的,还有Android VNC Viewer也可以在 Google Play 里面找到安装。
在
这里我要说一下BusyBox,它使得你可以在 Terminal 中运行很多命令,现在很多 Android 的 Rom
(我用的MIUI_v4_2.8.10也是) 的终端中很多命令都不能运行,比如 cp、mv、cut
等,但是这些都是我们脚本里面需要用到的,如果不能运行这些命令而执行脚本的话,会提示 **: not found 这样的提示。所以安装
BusyBox
可以使得这些命令都能够在终端里面执行。如果你的Rom本来够强大已经包含了BusyBox的新版本,能够运行基本的shell命令的话,那也可以不用装
这个。
当然安装BusyBox以及后面我们在Terminal中都需要 root 权限,如果是MIUI系统的话则可以直接在 授权管理 > ROOT权限管理 里面打开该选项,然后需要root权限的时候允许就可以了。其他的系统我没用过,不过可以直接用 一键ROOT工具 来操作。
安装BusyBox,安装好后,打开BusyBox点击 Install 开始安装,如果弹出需要ROOT权限,点下一步允许就行,如图:

3.安装 ubuntu 12.04
首先,打开 终端模拟器(Terminal) ,在光标处输入 “cd /sdcard/ubuntu”(不包括引号,注意cd后有空格)然后回车,这样就来到了刚才我们在SD卡里面新建的目录了,如图:

然后我们可以输入命令 “ls” 然后回车,我们就可以看到当前目录下的所有文件了,看一下里面是不是我们需要的三个文件,如图:

接下来我们就要开始运行 ubuntu.sh 这个安装脚本了,但在这之前我们需要使用 root 用户来运行这个脚本,在终端中使用命令 “su” 来切换至 root 用户权限,如果弹出授权信息点击下一步允许就行了,或者直接用 一键ROOT 来开启终端重复上面操作,成功后如图之前的“$”变成了“#”,这就说明已经获得Root权限了,如图:

然后运行安装脚本,输入命令 “sh ubuntu.sh”,进行安装,如图:

然后脚本为你建立了一个名字为“ubuntu”的帐号,这里提示你需要为你的帐号设置一个密码,这个密码会在以后你操作 Ubuntu 的时候一些授权应用到,比如我在这里设置密码为:“ubuntu”,这里注意的是在终端里面输入密码是不会显示出来的,你看见光标没有动静,但实际上你已经输入进去了。回车后提示再次输入密码以保证你两次密码一样,如图:

密码设置完成后,提示是否启动VNC服务和SSH服务,我们只要输入“y”然后回车,开启了这两个服务后我们才能通过远程连接来连上系统,如图:

然后提示我们输入设备屏幕的尺寸,我的屏幕是854×480的,所以我输入“852×480”(小米手机注意:小米手机是854×480的,但是后面用Android VNC 连接的时候有问题,在右边会显示一条线,所以小米手机用户最好设置成“852×480”,其他手机没有测试过,在设置的时候请注意!)。注意:这里两个数字之间的不是乘号,而是字母“xyz”的“x”,输错了不能远程连接的,
在vnc viewer下登录
192.168.1.107:1
输入密码
ubuntu
ok,可以看见熟悉的界面了,默认是root用户
安装一下编译的依赖包
# apt-get update
# apt-get upgrade
# apt-get install build-essential
# apt-get install automake autoconf
# apt-get install bison gettext libtool libglib2.0-dev libfreetype6-dev libfontconfig-dev gettext
下载mono source
# cd ~/
# wget http://download.mono-project.com/sources/mono/mono-3.4.0.tar.bz2
# tar jxvf mono-3.4.0.tar.bz2
下载3.4.0缺失的文件 (这里感谢 any):
cd mono-3.4.0/mcs/tools/xbuild/targets/
wget https://raw.githubusercontent.com/mono/mono/master/mcs/tools/xbuild/targets/Microsoft.Portable.Common.targets
呼~~,准备就绪,开始编译,我安装到/usr目录下,这样比较方便
# cd ~/mono-3.4.0
# ./configure --prefix=/usr
...........漫长的config之后
GC: no
缺失libgc,嗯....
# apt-get install libgc*
我懒了,抱歉...
然后
# ./configure --prefix=/usr
# make
......我在这里等了一天
# make install
......我在这里等了两天
ok,安装成功!
安装失败的可能,磁盘空间不足,解决方法:
去到ubuntu.img目录
cd ~/Desktop/sdcard/ubuntu
ubuntu@localhost:~$ mono -V
Mono JIT compiler version 2.10.8.1 (Debian 2.10.8.1-1ubuntu2)
Copyright (C) 2002-2011 Novell, Inc, Xamarin, Inc and Contributors. www.mono-pro
ject.com
TLS: __thread
SIGSEGV: normal
Notifications: epoll
Architecture: armel,soft-float
Disabled: none
Misc: softdebug
LLVM: supported, not enabled.
GC: Included Boehm (with typed GC and Parallel Mark)
可以看到(我用ssh登陆的),安装完毕了,真是一波三折啊....
总的来说,我的小平板运行桌面还是很流畅的,甚至网页都可以多开好几个了,赞一个。
刚刚装了jexus,有时间搭建一个网站看看如何。
最后:monodevelop跑不起来?不解
安卓系统上安装.net运行时 mono runtime的更多相关文章
- windows系统上安装与使用Android NDK r5 (转)
windows系统上安装与使用Android NDK r5 很早就听说了android的NDK应用,只是一直没有时间去研究,今天花了点时间在windows平台搭建了NDK环境,并成功运行了第一个简单 ...
- 安卓手机上安装 谷歌 play 商店
安卓手机上安装 谷歌 play 商店 安卓(Android)就是现在流行的智能手机系统,它是由Google公司和开放手机联盟领导及开发.由于安卓系统的底层代码(AOSP)是开源的,以GPL和Apach ...
- CentOS 6.5系统上安装SVN服务器端的方法及步骤
VN其实就是Subversion,分为服务器端和客户端.之前在网上搜了很多方法,都有各种问题,经过自己搜集整理以及实际尝试,总算有个比较靠谱的方法.本文主要介绍CentOS 6.5系统上安装SVN服务 ...
- 在Vista或Windows 7系统上安装Sharepoint 2007
在Vista或Windows 7系统上安装Sharepoint 2007 2010-03-05 18:53:19| 分类: 技术文章|字号 订阅 SharePoint 2007 不能直接安装 ...
- 在windows系统上安装VMware Workstation虚拟机,然后在虚拟机VMware Workstation上安装linux系统,在linux系统安装xshell的服务端,在windows系统上安装xshell。用windows系统上的xshell连接到linux
第一步:安装xshell: 去百度 xshell ,然后安装一下就可以了.就是普通的软件安装,在这里不做过多的接收. 第二步:安装虚拟机VMware Workstation 百度安装,不做过介绍 ...
- 如何在64位系统上安装SQL Server 2000
如何在64位系统上安装SQL Server 2000? 现在用SQL Server 2000数据库的人少了吧?大都是SQL Server 2005/2008了.不过还是有需求的,今天一朋友就让我在他的 ...
- Linux Centos 系统上安装BT客户端 Transmission
Linux Centos 系统上安装BT客户端 Transmission Transmission是一种BitTorrent客户端,特点是一个跨平台的后端和其上的简洁的用户界面,以MIT许可证和G ...
- 在VMware的Linux系统上安装Redis
在VMware的Linux系统上安装Redis 具体过程如下: 下载,解压和编译: 在执行make的时候报错,具体报错信息如下: zmalloc.o: In function `zmalloc_use ...
- 在64位Ubuntu系统上安装32位程序包
在64位Ubuntu系统上安装32位的程序包 $sudo apt-get install package_name:i386 例如: $sudo apt-get install openjdk-7-j ...
随机推荐
- java 调用 r, Can't find dependent libraries
rJava是一个R语言和Java语言的通信接口,通过底层JNI实现调用,允许在R中直接调用Java的对象和方法. 步骤: 1.本地系统: Win7 64bit 企业版, jdk1.8.0_45,R3. ...
- mysql小误区关于set global sql_slave_skip_counter=N命令
背景知识1: 在主从库维护中,有时候需要跳过某个无法执行的命令,需要在slave处于stop状态下,执行 set global sql_slave_skip_counter=N以跳过命令. ...
- C语言基础_2
scanf函数可以从键盘上读取数据并记录到变量中.为了使用这个函数也需要在文件开头使用如下的预处理指令#include <stdio.h>scanf函数使用的时候所需要的初始数据和prin ...
- python 获取文件夹大小
__author__ = 'bruce' import os from os.path import join,getsize def getdirsize(dir): size=0l for (ro ...
- 未能加载文件或程序集Microsoft.ReportViewer.WebForms, Version=10.0.0.0
解决方案如下ASP.NET项目使用VS2010开发,部署到windows 2008环境中,出现未能加载文件或程序集“Microsoft.ReportViewer.WebForms, Version=1 ...
- SQL SERVER 修改数据库名称(包括 db.mdf 名称的修改)
刚开始学习SQL SERVER 2005,弄了一个上午修改数据库名,主要是需要修改db.mdf 和db_log.ldf的名字,总算解决了.在这里记下,以后再要修改了就别忘了. 假设原来数据库名为db, ...
- Spring----->projects----->Spring Boot
1.概述:(about Spring Boot) Spring boot是在spring framework的基础上搭建起来的一个基本项目,该项目中已经集成了spring框架下的若干模块以及sprin ...
- 客户端连接linux经常间隔性断开链接
起因 在使用SecureCRT通过telnet或SSH访问linux时,总是出现过段时间操作就会断开连接提示重连的问题.起初以为是网络不稳定造成的,但我测试发现在服务器端一直可以ping通客户端IP, ...
- umf(转)
深入浅出Eclipse Modeling Framework (EMF) Eclipse Modeling Framework (EMF),简单的说,就是Eclipse提供的一套建模框架,可以用EMF ...
- Unity3D手游开发日记(9) - 互动草的效果
所谓互动草,就是角色跑动或者释放技能,能影响草的摆动方向和幅度. 前面的文章早已经实现了风吹草动的效果,迟迟没有在Unity上面做互动草,是因为以前我在端游项目做过一套太过于牛逼的方案.在CE3的互动 ...