2

Iamはjar(zubhium sdk jar)ファイルを私のモノドロイドプロジェクトにバインドしようとしています。私はxamarinsWebサイトで彼らのガイドに従い、私のモノドロイドプロジェクトを参照する新しいバインディングプロジェクトを作成しました。パッケージ名に問題があります。次のエラーが発生します。

Error   3    package com.zubhium.interfaces does not exist
        com.zubhium.interfaces.ZubhiumListener
    C:\Users\jbp\Desktop\ny\CmsApp.Droid\obj\Debug\android\src\mono\com\zubhium\interfaces\ZubhiumListenerImplementor.java  8   25  CmsApp.Droid



 from the genrated source:
package mono.com.zubhium.interfaces;        
public class ZubhiumListenerImplementor
            extends java.lang.Object
            implements
                mono.android.IGCUserPeer,
                com.zubhium.interfaces.ZubhiumListener

これは、プロジェクトがラップされると、パッケージ名にmono(.com.zubhium ....)が自動的に追加されるためです。このモノを削除する方法、またはこの部分を追加するルールを設定できるかどうかがわかりません。

xmldata.xmlファイルを入れようとしまし <attr path="/api/package[@name='com.zubhium.interfaces']" name="managedName">mono.com.zubhium.interfaces</attr> たが、うまくいきませんでした。

何か疑惑はありますか?

よろしく

4

1 に答える 1

9
package com.zubhium.interfaces does not exist

ライブラリバインドし、.jar別のプロジェクトからバインドプロジェクトを参照する場合は、アプリケーションプロジェクトにを追加 し、.jarそのビルドアクションをに設定する必要がありますAndroidJavaLibrary

そうし.jarないと、がに追加されず、 Android Callable Wrapperのコンパイル時にコンパイルエラーが発生しjavac $CLASSPATH(ご覧のとおり)、が最終に含まれなくなります。これらは両方ともBad™です。javac.jar.apk

これは、プロジェクトがラップされると、パッケージ名にmono(.com.zubhium ....)が自動的に追加されるためです。

これは「実装者」タイプの場合です。あなたはそれを無視することができます。イベントの実装の一部として使用されます。生成されたC#コードを見ると、次のようになっているはずです。

[global::Android.Runtime.Register ("mono/com/zubhium/interfaces/ZubhiumListenerImplementor")]
internal sealed class ZubhiumListenerImplementor : Java.Lang.Object, IZubhiumListener {
    // ...
}

内部タイプのmono.com.zubhium.interfaces.ZubhiumListenerImplementorACWです。ZubhiumListenerImplementor

このタイプの名前を変更することはできません。これは、メタデータを介して制御されない内部構造です。

于 2012-06-06T12:27:16.447 に答える