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

时间:2012-09-11 08:18:30

标签: android ios xamarin.ios xamarin.android monocross

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

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

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

我担心通过使用Mono,我们迫使这些开发人员也这样做。是这样的吗?

Android库

我们可以生成一个Android库(不是我理解为提供全源的库项目)作为MonoDroid的输出,其他开发人员使用ADT和Java开发(即他们没有使用Mono Droid )能够在他们的应用中使用吗?

iOS库

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

2 个答案:

答案 0 :(得分:2)

对于这两种情况,答案都是否定的,无法在MonoTouch或Mono for Android上创建非托管应用可以使用的托管库。

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

答案 1 :(得分: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可以提供一个源代码示例,那将是很好的,因为它是像这样的工具包非常需要的功能!