我想在Xamarin的Android应用程序中使用Estimote Beacon。由于Xamarin的Estimote 1非常过时,所以我考虑将正式的Estimote 2包含到项目中,该项目提供了一个estimote-sdk.aar文件,我正在尝试包括和使用该文件。Xamarin文档建议为此创建一个绑定库。
因此,我遵循了这些步骤,创建了一个绑定库,添加了.aar并将其构建操作设置为LibraryProjectZip,但我得到了几个错误:
当我能解决错误的时候
成员名称不能与其封闭类型相同。
通过Metadata.xml重命名成员,如下所示:
<attr path="/api/package[@name='com.estimote.sdk.cloud.model.google']/class[@name='Beacons']/field[@name='beacons']" name="name">BeaconsList</attr>我不知道怎么解决错误
“缓冲区”不实现接口成员"IBufferedSink.Buffer()“
如何解决这一问题?
将Estimote包含到Android应用程序的Xamarin中的最佳方法是什么?
1 Xamarin Inc. https://components.xamarin.com/view/estimotesdkandroid为Android开发的估计SDK
2安卓https://github.com/Estimote/Android-SDK的官方估计SDK
3在Xamarin开发人员门户topics/binding-a-java-library/binding-an-aar/中绑定一个topics/binding-a-java-library/binding-an-aar/
发布于 2016-06-23 15:55:46
支持Estimote的最佳选择是自己绑定。我们确实有一个组件团队,他们试图在每个版本中保持领先地位,但由于每天都有这么多的新版本和新库出现。它可以提供相当大的挑战。
"Buffer" does not implement interface member "IBufferedSink.Buffer()"这通常意味着类没有实现相应的接口成员。你有几种方法可以避免这个错误。
Partial类并实现接口成员。api.xml以确保类正在实现接口的所有成员。检查所有返回类型/参数/等,以确保它们与正确的类型匹配。然后,您必须通过managedReturn、managedType或propertyName更改Metadata.xml。作为一般参考,我有一个小的有约束力的指南,你可以在这里找到:
https://gist.github.com/JonDouglas/dda6d8ace7d071b0e8cb
具体来说,您可能最感兴趣的是常见的元数据修复:https://gist.github.com/JonDouglas/dda6d8ace7d071b0e8cb#common-metadata-fixes
https://stackoverflow.com/questions/37993573
复制相似问题