8

我们有一个专有硬件,我们希望将其作为手机外围设备发布。

我们已经开始编写一个跨平台的移动应用程序,它使用 MonoCross 框架(即 iOS 的 MonoTouch 抽象层和 Android 的 MonoDroid 抽象)与硬件接口。

我们希望将此应用程序的大部分内容作为代码库提供,以供其他希望编写与我们的硬件接口的应用程序的应用程序开发人员重用。

我担心使用 Mono 会迫使这些开发人员也这样做。是这样吗?

安卓库

我们能否生成一个 Android 库(不是我理解为提供完整源代码的库项目)作为 MonoDroid 的输出,其他开发人员使用 ADT 和 Java 开发(即他们不使用 Mono Droid)能​​够使用他们的应用程序?

iOS 库

我们能否从 MonoTouch 中生成一个 Objective C 开发人员(即他们不使用 Mono Touch)能够在他们的应用程序中使用的库?

4

2 回答 2

2

两种情况的答案都是否定的,不可能创建非托管应用程序可以使用的托管库,无论是在 MonoTouch 还是 Mono for Android 上。

这是因为托管库严重依赖托管运行时,它们不是独立库。

于 2012-09-11T08:42:30.733 回答
2

实际上,我的问题与您完全相同...在iOS上,根据我从Xamarin收集到的信息,这是可能的,但不受支持。尽管,我仍在等待示例:/

据我了解,monodevelop 能够编译一个本地 ARM 库,该库可以通过执行以下操作被 ObjectiveC 源使用:

/Developer/MonoTouch/usr/bin/mtouch --linksdkonly --xcode=output_dir MyAssembly.exe

在您的 XCode 项目中,您似乎需要使用 Mono-Embedding-API。

http://docs.go-mono.com/?link=root:/embed

如果 xamarin 可以提供源示例,那就太好了,因为它是这样的工具包非常需要的功能!

于 2012-09-11T12:40:40.440 回答