Monodroid问题与jar绑定zubhium sdk

Bja*_*rke 2 binding android jar xamarin.android

我试图将jar(zubhium sdk jar)文件绑定到我的mono droid项目.我在xamarins网站上关注了他们的指南,并创建了一个新的绑定项目,我将其引用到我的mono droid项目中.我在使用包名时遇到了一些问题.我收到以下错误:

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
Run Code Online (Sandbox Code Playgroud)

这是因为当项目被包装时,它会自动将mono(.com.zubhium ....)添加到包名称中.我无法找到如何删除此单声道或如果我可以设置规则来添加此部分.

我试图放入 <attr path="/api/package[@name='com.zubhium.interfaces']" name="managedName">mono.com.zubhium.interfaces</attr> xmldata.xml文件但是没有用.

你们有任何吸烟吗?

问候

jon*_*onp 9

package com.zubhium.interfaces does not exist
Run Code Online (Sandbox Code Playgroud)

当您绑定.jar从其他项目中引用的绑定项目,你需要 添加.jar到您的应用程序项目,并设置其生成操作AndroidJavaLibrary.

如果不这样做意味着.jar将不会添加到javac $CLASSPATH,在javac编译Android Callable Wrapper时(如您所见)导致编译错误,并且.jar不会包含在您的final中.apk.这两个都是Bad™.

这是因为当项目被包装时,它会自动将mono(.com.zubhium ....)添加到包名称中.

那是"执行者"类型; 你可以忽略它.它被用作事件实现的一部分.如果你看一下生成的C#代码,应该有:

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

mono.com.zubhium.interfaces.ZubhiumListenerImplementor是内部ZubhiumListenerImplementor类型的ACW .

你不能重命名这种类型; 它是一个不通过元数据控制的内部构造.