C# Embeddedinator-4000:在Visual Studio中生成.aar时忽略方法

C# Embeddedinator-4000:在Visual Studio中生成.aar时忽略方法,c#,android,xamarin,embeddinator,C#,Android,Xamarin,Embeddinator,我正在使用visual studio 17(Windows)并尝试使用Embeddedinator-4000工具从Xamarin C#Android库中构建一个.aar文件,但是在参数或返回类型中使用用户定义类的方法被工具忽略,而不是作为.aar的一部分 下面是使用的两个类: 扩展ArrayList的自定义类 类中使用参数中的ViewSubclass的方法 类,如.aar文件所示(已反编译) 请帮助理解为什么方法存储不作为.aar文件的一部分。 提前谢谢。我已经为此挣扎了好几天了 问题在于类型。

我正在使用visual studio 17(Windows)并尝试使用Embeddedinator-4000工具从Xamarin C#Android库中构建一个.aar文件,但是在参数或返回类型中使用用户定义类的方法被工具忽略,而不是作为.aar的一部分 下面是使用的两个类:

  • 扩展ArrayList的自定义类
  • 类中使用参数中的ViewSubclass的方法
  • 类,如.aar文件所示(已反编译)
  • 请帮助理解为什么方法存储不作为.aar文件的一部分。
    提前谢谢。

    我已经为此挣扎了好几天了

    问题在于类型。 尝试使用基本数组而不是arraylist,您的Store()方法很可能不会被忽略,并显示在生成的库中

    有许多类似的限制。 但是,没有一个完整的限制列表。 Embeddedinator 4000是一个很好的概念,但是必须有更多关于如何在其生成日志中构建、使用和解释/修复错误的文档


    希望这有帮助。

    根据您的描述和代码,.arr文件中没有存储方法,现在您想在项目中使用.arr并调用存储方法吗?
    using Android.Runtime;
    using Java.Interop;
    using Java.Util;
    
    
    namespace CalculationAndroid
    {
        [Register("mono.embeddinator.android.ViewSubclass")]
        public class ViewSubclass : ArrayList
        {
            [Export("ViewSubclass")]
            public ViewSubclass() : base() { }
        }
    }
    
    using Android.Runtime;
    using Java.Interop;
    
    namespace CalculationAndroid
    {
        [Register("mono.embeddinator.android.UseViewSubclass")]
        public class UseViewSubclass
        {
            [Export("store")]
            public void Store(ViewSubclass arrayList)
            {
                arrayList.Add("aaa");
                System.Console.WriteLine(arrayList.Get(0));
            }
        }
    }
    
    package calculationandroid.calculationandroid;
    
    import mono.embeddinator.*;
    import com.sun.jna.*;
    
    public class UseViewSubclass {
        public com.sun.jna.Pointer __object;
    
        public UseViewSubclass(com.sun.jna.Pointer object) { this.__object = object; }
    
        public UseViewSubclass() {
            __object = calculationandroid.Native_CalculationAndroid.INSTANCE.CalculationAndroid_UseViewSubclass_new();
            mono.embeddinator.Runtime.checkExceptions();
        }
    }