Xamarin绑定.aar与Metadata.xml似乎不起作用

时间:2017-04-22 12:21:36

标签: android xamarin.android xamarin-studio xamarin-binding

我正在尝试绑定一个用于语音聊天的android SDK(zoom sdk)。 他们有两个.aar文件(zoomcoomonlib.aarzoomsdk.aar

我知道我必须为每个.aar创建单独的绑定项目,然后引用它们。

绑定zoomsdk.aar时我收到以下错误

The type `Com.Zipow.Videobox.Onedrive.ErrorEventArgs' already contains a definition for `P0' (CS0102) (B14)

enter image description here

在.aar文件中,我导航到package com.zipow.videobox.onedrive;到界面IODFoldLoaderListener

以下是其中的内容

enter image description here

因此方法String var1的参数onError似乎导致问题。

xamarin studio生成obj/debug/api.xml确认onErrorp0第一个参数名为metadata.xmlenter image description here

因此,在这种情况下,我更改obj/debug/api/.xml以使此参数具有有意义的名称。

如下图所示:

enter image description here

但即使这样做我也得到同样的错误。那个错误没有解决。 此外,如果我看到IODFoldLoaderListener文件,我看到类 cell.image = downloadFromURL(SOME_URL) 的内容保持不变。

因此,更改metadata.xml似乎没有任何效果。

1 个答案:

答案 0 :(得分:0)

你的定义需要改变很多。这是一个解决同样问题的例子:

<attr path="/api/package[@name='com.emarsys.mobileengage.inbox']/interface[@name='ResetBadgeCountResultListener']/method[@name='onError' and count(parameter)=1 and parameter[1][@type='java.lang.Exception']]" name="argsType">ResetBadgeCountResultListenerOnErrorArgs</attr>

请注意此处的/interfaceargsType项目,因为您的初始定义不正确。然后,您可以将参数更改为字符串,而不是我的示例中的java.lang.Exception