【问题标题】:Is it possible to create a cross-platform shared library with MonoDroid and MonoTouch that can be used by non-Mono developers?是否可以使用 MonoDroid 和 MonoTouch 创建一个可供非 Mono 开发人员使用的跨平台共享库?
【发布时间】:2012-09-11 08:18:29
【问题描述】:

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

我们已经开始使用 MonoCross 框架(即 iOS 的 MonoTouch 抽象层和 Android 的 MonoDroid 抽象)编写跨平台移动应用程序。

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

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

Android 库

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

iOS 库

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

【问题讨论】:

  • 嗨,您找到了解决方案吗?
  • 没有。我们发现,做到这一点的最佳方法是使您的应用程序成为其他应用程序的依赖项,并使用自定义 URL 协议在它们之间建立接口。即将您的应用注册为自定义 URL 处理程序和

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


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

    据我了解,monodevelop 能够通过执行类似操作来编译可由 ObjectiveC 源代码使用的本机 ARM 库:

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多