我想了解 mono for android 是如何工作的,但我在官方网站上找不到这个解释。
考虑到android是读取java字节码的,Mono for Android是需要安装在android设备上的框架还是编译成java字节码的编译器?
最佳答案
This article在 Xamarin 的网站上描述了架构是如何组合在一起的。
长话短说,没有什么可以将 C# 编译成 Java 字节码。 Mono for Android 应用程序附带嵌入其中的 Mono 运行时,它与 Dalvik(Android 的 Java 虚拟机)并行运行。 Mono 运行时使用可调用包装器以便在需要时促进与 Dalvik 的来回通信,但 .NET 对象直接与 Mono 运行时而不是 Dalvik 对话。
为了加快开发速度, Debug模式下的应用程序被设置为使用共享运行时来减少部署时间,并允许多个应用程序共享相同的运行时。不过,在 Release模式下编译的应用程序不支持此功能,因此您发布和分发的任何应用程序都将包含其自己的嵌入式 Mono 运行时,并且不会依赖于任何其他内容。
关于android - Mono for Android是需要安装在android设备上的框架还是编译成java字节码的编译器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11633046/