2017-04-22 67 views
0

我想绑定一个Android SDK的语音聊天(缩放sdk)。 他们有两个.aar文件(zoomcoomonlib.aarzoomsdk.aarXamarin绑定.aar与Metadata.xml似乎不工作

我知道我必须为每一个单独的.aar结合的项目,然后引用它们。

虽然结合zoomsdk.aar我提示以下错误:

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

enter image description here

在.aar文件I导航到package com.zipow.videobox.onedrive;到接口IODFoldLoaderListener

及以下的内容它

enter image description here

因此看起来方法onError的参数String var1引起了问题。

而且xamarin Studio生成obj/debug/api.xml证实了这一点(下图)是onError将有一个名为p0第一个参数: enter image description here

因此,在这种情况下我改变metadata.xml给这个参数一个有意义的名字。

像下面的截图:

enter image description here

但即使这样做,我收到同样的错误了。该错误没有解决。 此外,如果我看到obj/debug/api/.xml文件,我看到类IODFoldLoaderListener的内容保持不变。

因此,改变metadata.xml似乎没有效果。

+0

由于您使用了图片和文字,我无法剪切/粘贴答案。您未在元数据转换中使用完整的方法签名。尝试阅读Jon Douglas出色的绑定文档第2部分:https://gist.github.com/JonDouglas/dda6d8ace7d071b0e8cb – SushiHangover

回答

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