Xamarin: 使用本地库

6

1)如果有iOS和Android原生库可用,为了开发跨平台应用程序,采取什么适当、高效和简便的步骤来使用该库?绑定Android库还是iOS库?如果我们绑定Android原生库,我们能否在Xamarin.iOS应用程序中使用此绑定库,反之亦然?

2)如果有C++库可用,是否可以使用该库开发跨平台应用程序?

谢谢!

(我只是Xamarin的初学者,所以请原谅问题似乎不合适)

1个回答

2
  1. 原生的iOS和Android库通常是非常不同的(iOS库通常用Objective-C编写,而Android库则用Java编写),由于这个原因,每个库的绑定也会有所不同。即使API相同,Objective-C和Java之间的差异足以导致绑定也必须不同。

  2. 是的,在iOS和Android项目中使用C++是可能的,但机制不同。这里有几个选项:

    • 使用像SWIG这样的工具创建C++库的托管绑定。 也是一个有趣的阅读。

    • 创建一个包装C++库的C库,然后使用托管代码中可用的标准P/Invoke机制与C库交互。


谢谢!我正在使用的库不包含任何特定于平台的代码,仅用于将设备连接到远程服务器。该库可在Objective-C、Java和C++上使用。我需要一个绑定来访问它作为C#类库。因此,如果我绑定其中任何一个库,我是否能够在不同的Xamarin项目中使用它?例如:如果我将可用的Java库绑定到C#,我是否也可以在我的Xamarin.iOS项目中使用这个绑定库? - user1407804
不,你不能在iOS上使用Java的绑定(也不能使用Java库本身),因为Java只能在Android上运行。但是,你应该可以在iOS和Android上都使用C++版本(在这种情况下,托管绑定也可以共享使用)。 - Rolf Bjarne Kvinge
所以,现在我决定在跨平台应用程序中使用该库的C++版本。非常感谢。 - user1407804

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