0

我有一个.aar想在 Xamarin Android 中使用的第三方库。所以我创建了一个新的Android Bindings Library,添加了aar-library 并将文件更改为Build action如下所述:https ://docs.microsoft.com/en-us/xamarin/android/platform/binding-java-library/binding-an -aaraarLibraryProjectZip

没有其他任何改变,我希望该项目能够编译并生成一个dll文件。相反,我得到很多错误说Error CS0542 'xy': member names cannot be the same as their enclosing type。当我跳转到错误的根源时,我在 Visual Studio 生成的代码中发现错误,类看起来像:

public abstract class Albumin : Java.Lang.Object {

    internal Albumin ()
    {
    }

    // (removed for readability)
    [Register ("ALBUMIN")]
    public const string Albumin = (string) "albumin";

我无法修改库的源代码。我该怎么做才能Binding Library成功构建?

4

1 回答 1

0

非常感谢@Leo Zhu 在评论中的回答:

解决方案是重命名成员。因此,在我的情况下,Metadata.xmlin dieBinings Library如下所示:

<attr path="/api/package[@name='com.company.android.sdk.dataclass']/interface[@name='DataClass.Albumin']/field[@name='ALBUMIN']" name="name">ALBUMIN_Binding</attr>
于 2021-06-07T19:38:56.600 回答