2016-12-22 4 views
0

私はeezee POSとeeZee PAYのバインディングを作成しています。アンドロイドとiOS。Xamarin Android - バインディングの作成に関する問題

ありがたいことに、eeZee POS/Payのバインディングのほとんどは非常に単純です。しかし、いくつかの問題があります。私はどのように修正するのかよく分かりません

まず、メソッドとクラスが同じです。メソッドまたはクラス名をマップする方法はありますか?何か違います?私はmetadata.xmlファイルにマップできるはずです。

次は、私は、これはglobal::の後に名前がないとビルドに失敗したこの

public static string Bold (params global:: string[] content) 

のように見える方法のカップルを持っているということです。これにはマッピングの形式がないので、変換ファイルの1つにglobal::を削除する方法がありますか?

最後に、1と2を手動で修正してビルドした場合、dllは問題なく生成されます。私がposバインディングを使用するようになると、Java.Lang.NoClassDefFoundError (com.thepaymenthouse.ezpossdk,EZFactory$1)が投げられます。私が見ることができるのは、何かが正しく縛られていないということです。この問題を追跡する方法はありますか?

答えて

0

ここでは、Xamarinが提供しているiOSとAndroidライブラリのバインディングに関するドキュメントをリンクしています。

のiOS - >https://developer.xamarin.com/guides/cross-platform/macios/binding/

アンドロイド - 特に>https://developer.xamarin.com/guides/android/advanced_topics/binding-a-java-library/

私はあなたが言及したのmetadata.xmlをことを考えると、結合XamarinのAndroidについて話していると思うあなたの最初の質問について。あなたは、単に

このNewNameに従ってください

詳細としてあなたのmetadata.xml内のルールを追加する必要があなたの問題を解決するには、次のリンク

https://developer.xamarin.com/guides/android/advanced_topics/binding-a-java-library/customizing-bindings/java-bindings-metadata/#Renaming_Members

であなたの第二の問題は、少し誤解を招くされていますあなたはそれをより良く説明できますか?コードの部分はどこにありますか?

最後に発生したエラーJava.Lang.NoClassDefFoundErrorについては、バインド中に何か問題が発生したと思います。エラーがJavaバインディングに関連していることを考慮すると、プロジェクトによって生成されたクラスであるobj/"debug or release"/generatedというフォルダ内の "バインディングプロジェクト"のディレクトリを確認し、探しています。

関連する問題