2016-06-23 7 views
1

Androidアプリケーション用のXamarinでEstimoteビーコンSDKを使用したいと考えています。 XamarinのEstimote SDK [1]は非常に古くなっているので、私は含めようとしていたestimote-sdk.aarファイルを提供するプロジェクトに公式のEstimote SDK [2]を含めることを考えていました。 Xamarinのドキュメンテーションは、その目的のためにBinding Libraryを作成することを示唆しています[3]。estimat-sdk.aar用のXamarin Binding Libraryの構築方法

は、だから私は、これらの手順を以下、バインディングライブラリを作った.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を" インターフェイスメンバを実装していません

"バッファ" のようなerrosを解決する方法がわかりませんか?
Estimote SDKをAndroidアプリケーション用のXamarinに組み込む最良の方法は何ですか?

[1] Xamarin株式会社https://components.xamarin.com/view/estimotesdkandroid
Android(アンドロイド)用Estimote SDKのAndroid https://github.com/Estimote/Android-SDK
のための[2]公式Estimote SDKには、[3]のサポートにXamarinデベロッパーポータルhttps://developer.xamarin.com/guides/android/advanced_topics/binding-a-java-library/binding-an-aar/

答えて

2

あなたの最善の策で.AARバインディングEstimote SDKはあなた自身をバインドすることです。すべてのリリースの上にとどまるコンポーネントチームがありますが、毎日新しいリリースと新しいライブラリが出てくるので、それはかなりの挑戦に役立ちます。

  1. "Buffer" does not implement interface member "IBufferedSink.Buffer()"

これは、典型的には、クラスは、それぞれのインターフェース部材を実装していないことを意味します。このエラーを回避するには、いくつかの方法があります。

  1. あなたの問題のクラスのPartialクラスを作成し、 インターフェイスメンバを実装します。

  2. クラスがすべて のインターフェイスのメンバーを実装していることを確認するには、api.xmlを参照してください。すべての戻り値の型/引数/ etcをチェックして、それらが正しい型と一致することを確認してください。 ,managedType、またはpropertyNameMetadata.xmlで変更する必要があります。一般的な基準として、

、私はあなたがここに見つけることができる小さな結合ガイドがあります。

https://gist.github.com/JonDouglas/dda6d8ace7d071b0e8cb

具体的に、あなたは、共通のメタデータの修正で最も興味があるかもしれない:https://gist.github.com/JonDouglas/dda6d8ace7d071b0e8cb#common-metadata-fixes

関連する問題