問題タブ [java-binding]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - Xamarin バインディングの問題: シンボルが見つかりません
ネイティブ Java ライブラリをバインドしようとしています。この jar ファイルは以前にバインド プロジェクトに統合されており、最新バージョンで jar を更新しようとしています。
ビルド中に次の問題が発生します。
これらのメソッドは次の場所で確認できますcemListener.java
。
DeferredAuthorizationReason
が存在し、C# ファイルからアクセスできる値を持っていることがわかります。バインディングが機能しているように見えますか?なんらかの理由でcemListener.java
見えないという問題があると思います。DeferredAuthorizationReason
Metadata.xml を変更する必要があると思いますが、問題が C# ではなく Java ファイル内にあると思われるため、何が必要かわかりません。
これは、api.xml のクラスです。
問題を引き起こしていないように見える他の列挙型を見ることができます。このファイルがstatic="false"
.
Metadata.xml でこれを修正しようとしましたが、効果がないようです:
xamarin - Xamarin Java ライブラリ バインディングの問題
プロジェクトagency tango materialintroscreen
でライブラリを使用したい。Xamarin.Android
Xamarin Android Binding Project を作成し、ARR
ファイルを にコピーしてJars Folder
、Build Action を に設定しましたLibraryProjectZip
。
次に、メインの Xamarin.Android プロジェクトでプロジェクトを参照します。通常はアクセスできますagency.tango.materialintroscreen
が、名前空間が存在しないというエラーが発生します。
jetBrains dotpeek
私が見たものを使ってみるとdll
、すべてのクラスでうまく作成されました。3つのライブラリ
Visual Studioエラーリストで同じエラーがあります
c# - クラスの最終的なintフィールドをac#enumに変更するxamarin androidバインディング
私はサード パーティの Android JAR 用の Xamaring バインディング ライブラリを作成しており、クラスの int フィールドを列挙型に変換する方法に困惑しています。
EnumFields.xml を使用して int フィールドの C# 列挙型を作成し、EnumMethods.xml を使用してメソッドからこれを正常に返すこともできましたが、代わりに、列挙型である必要がある int フィールドを公開するクラスが返されます。
私はもう試した:
EnumMethods内で動作させることができなかったので、試してみました
Metadata.xml 内ですが、マップすることもできませんでした。プロパティ名は変更できますが、戻り値の型は変更できません。
JavaDoc 内では、次のように記述されています。
public final int エラー
生成された C# では、次のようになります。
明らかな何かを見逃しましたか?