当前位置: 首页 > 知识库问答 >
问题:

Markwon库的Xamarin Android绑定

牟辰龙
2023-03-14

我正在尝试为库生成Xamarin绑定:

https://github.com/noties/markwon

https://repo1.maven.org/maven2/io/noties/markwon/core/4.6.1/core-4.6.1.aar

我还没有修改metadata.xml或任何内容。我已经将aar添加LibraryProjectZip,但是在尝试编译它时遇到了一些问题。

0>obj/debug/generated/src/io.noties.markwon.spannablebuilder.cs(10,68):错误CS0738:“spannablebuilder”不实现接口成员“Iappendable.append(char)”。“SpannableBuilder.append(char)”无法实现“Iappendable.append(char)”,因为它没有匹配的返回类型“Iappendable”。

0>obj/debug/generated/src/io.noties.markwon.spannablebuilder.cs(10,68):错误CS0738:“spannablebuilder”没有实现接口成员“Iappendable.append(iCharsequence?)”。“SpannableBuilder.append(ICharSequence)”无法实现“iAppendable.append(ICharSequence?)”因为它没有匹配的返回类型'IAppendable'。

0>obj/debug/generated/src/io.noties.markwon.spannablebuilder.cs(10,68):错误CS0738:“spannablebuilder”不实现接口成员“Iappendable.append(iCharsequence?,int,int)”。“SpannableBuilder.append(ICharSequence,int,int)”无法实现“iAppendable.append(ICharSequence?,int,int)”,因为它没有匹配的返回类型“iAppendable”。

0>obj/debug/generated/src/io.noties.markwon.utils.nocopyspannablefactory.cs(56,79):警告CS0108:'nocopyspannablefactory.instance‘隐藏继承成员'spannablefactory.instance’。如果打算隐藏,请使用new关键字。

出于测试的目的,如果我从SpannableBuilder的接口中删除global::Java.lang.iappendable,我会继续前进,但它会出现一个Java问题:

1>obj/debug/android/src/mono/io/noties/markwon/core/CorePlugin_OnTextAddedListenerImplementor.java(4,8):Error JAVAC0000 javac:Error:CorePlugin_OnTextAddedListenerImplementor不是抽象的,并且不重写ontextaddedlistenerimplementor公共类CorePlugin_OnTextAddedListenerImplementor中的抽象方法ontextadd(MarkwonVisitor,String,int)

为该类生成的代码如下所示:

package mono.io.noties.markwon.core;


public class CorePlugin_OnTextAddedListenerImplementor
    extends java.lang.Object
    implements
        mono.android.IGCUserPeer,
        io.noties.markwon.core.CorePlugin.OnTextAddedListener
{
/** @hide */
    public static final String __md_methods;
    static {
        __md_methods = 
            "";
        mono.android.Runtime.register ("IO.Noties.Markwon.Core.CorePlugin+IOnTextAddedListenerImplementor, Markwon", CorePlugin_OnTextAddedListenerImplementor.class, __md_methods);
    }


    public CorePlugin_OnTextAddedListenerImplementor ()
    {
        super ();
        if (getClass () == CorePlugin_OnTextAddedListenerImplementor.class)
            mono.android.TypeManager.Activate ("IO.Noties.Markwon.Core.CorePlugin+IOnTextAddedListenerImplementor, Markwon", "", this, new java.lang.Object[] {  });
    }

    private java.util.ArrayList refList;
    public void monodroidAddReference (java.lang.Object obj)
    {
        if (refList == null)
            refList = new java.util.ArrayList ();
        refList.add (obj);
    }

    public void monodroidClearReferences ()
    {
        if (refList != null)
            refList.clear ();
    }
}

共有1个答案

訾俊名
2023-03-14

我在此基础上接受了建议,所以回答:https://stackoverflow.com/a/24169499/14977771

并创建了一个简单的包装来调用我需要的函数。我的包装器.aar文件作为LibraryProjectZip添加,然后将MarkWon库(及其依赖的JAR)作为EmbeddedReferenceJar添加。

它允许我只包装/调用我需要使用的函数,而无需为整个库创建绑定。

 类似资料:
  • Markwon Markwon is a markdown library for Android. It parses markdownfollowing commonmark-spec with the help of amazing commonmark-javalibrary and renders result as Android-native Spannables. No HTMLi

  • 我试图在MFA上绑定一个jar库(jCIFS),但遇到了一些错误,就像下面这样: 'jcifs.util.md4'不实现继承的抽象成员'java.security.messagedigestspi.engineDigest() 经过一些研究,我发现了一些关于这方面的主题,告诉编辑元数据以更改类的权限,如下所示: 但是错误没有改变,a仍然不会得到这个错误的含义。 有人吗? 错误1类型'jcifs.u

  • 我想知道以下内容之间有什么区别: 与 有任何性能差异吗? 每个的首选用例是什么? 任何其他信息都将不胜感激! 谢谢!

  • 我试图在Xamarin中使用https://github.com/redth/Xamarin.android.Xposed,但最终结果被Xposed拒绝,说:“不能加载模块”..“xposed api类被编译到模块的APK中”。xposed-api.jar文件当前是,这就是导致该错误的原因。Xposed-api.jar文件已经由Xposed在运行时提供。 来自xamarin的文件。 InputJa

  • 我使用Android Studio Beta 1与和。我还启用了数据绑定: 但不幸的是,Kotlin类看不到从布局生成的类,因为我会遇到如下错误: 错误:(17,31)未解析的引用:数据绑定 错误:(39,36)未解决的引用:MyFragment绑定 当然,Java类可以看到这些生成的类。

  • 原始Android Jar库文件(mposlitesdk.Jar)在子文件夹中包含以下内容: com(其内部有子文件夹“Ingenico”和“Zebra”) META-INF org(其内部有子文件夹“Apache”和子文件夹“commons”和“http”) null 带有char'的奇怪无效令牌添加到生成的源: obj\debug\generated\src\org.apache.http.i