使用MonoDroid和MonoTouch是否可以创建一个跨平台共享库,供非Mono开发人员使用?

8
我们有一款专有的硬件,希望将其发布为手机外设。
我们已经开始编写跨平台移动应用程序,使用MonoCross框架与硬件进行交互(即iOS的MonoTouch抽象层和Android的MonoDroid抽象层)。
我们希望将大部分应用程序作为代码库提供,以便其他希望编写与我们的硬件接口的应用程序开发人员可以重复使用。
我担心通过使用Mono,我们强制这些开发人员也要这样做。是这样吗?
安卓库
我们可以从MonoDroid生成一个安卓库(不是库项目,我理解为提供全源代码),以便其他使用ADT和Java进行开发的开发人员(即他们没有使用Mono Droid)能够在他们的应用程序中使用吗?
iOS库
我们可以从MonoTouch生成一个库,以便Objective C开发人员(即他们没有使用Mono Touch)能够在他们的应用程序中使用吗?

你好,你找到解决方案了吗? - Omid Hashemi
不,我们发现最好的方法是将您的应用程序作为另一个应用程序的依赖项,并使用自定义URL协议在它们之间进行接口。即注册您的应用程序作为自定义URL处理程序。 - Adrian Hope-Bailie
2个回答

2

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

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


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能够提供一个源代码示例,那就太好了,因为对于这样的工具包来说,这是一个非常重要的功能!

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接