Mono for Android是一个需要安装在Android设备上的框架,还是一个编译成java字节码的编译器?

时间:2012-07-24 14:28:08

标签: android mono xamarin.android

我正在努力了解android的单声道是如何工作的,我在官方网站上找不到这个解释。

考虑到android读取java字节码,Android的Mono是一个需要安装在Android设备上的框架,还是一个编译成java字节码的编译器?

2 个答案:

答案 0 :(得分:12)

Xamarin网站上的

This article描述了如何将架构组合在一起。

长话短说,没有什么可以将C#编译成Java字节码。适用于Android应用程序的Mono附带嵌入其中的Mono运行时,它与Dalvik(Android的Java虚拟机)并行运行。 Mono运行时使用可调用包装器,以便在需要时与Dalvik进行来回通信,但.NET对象可以直接与Mono运行时通信,而不是Dalvik。

为了加速开发,调试模式下的应用程序设置为使用共享运行时来减少部署时间,并允许多个应用程序共享相同的运行时。但是,在发布模式下编译的应用程序不支持此功能,因此您发布和分发的任何应用程序都将包含其自己的嵌入式Mono运行时,并且不会依赖其他任何内容。

答案 1 :(得分:0)

来自这篇文章

http://visualstudiomagazine.com/articles/2011/02/01/introducing-monodroid-intro.aspx/

  

MonoTouch创建包含Mono运行时的本机应用程序   嵌入在应用程序中。 MonoDroid可以创建两种类型   应用。第一个是单个独立应用程序,即   类似于MonoTouch应用程序,具有应用程序和Mono运行时   绑定在一起。应用程序所需的一切都是嵌入式的   在申请中。第二种类型是一个应用程序   使用安装在设备上的共享运行时。这是   类似于.NET应用程序在Windows上的运行方式。有了这种类型   应用程序,应用程序,以及其他编写的应用程序   MonoDroid可以使用共享运行时。