【问题标题】:Android Xamarin AAR Binding enclosing typeAndroid Xamarin AAR Binding 封装类型
【发布时间】:2021-06-06 19:27:58
【问题描述】:

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

没有其他任何更改,我希望该项目能够编译并生成一个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?

【问题讨论】:

标签: android xamarin.android android-binding-adapter


【解决方案1】:

非常感谢@Leo Zhu 在 cmets 的回答:

解决方案是Renaming Members。 因此,在我的情况下,Binings Library 中的 Metadata.xml 如下所示:

<attr path="/api/package[@name='com.company.android.sdk.dataclass']/interface[@name='DataClass.Albumin']/field[@name='ALBUMIN']" name="name">ALBUMIN_Binding</attr>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-06-03
    • 1970-01-01
    • 1970-01-01
    • 2018-08-09
    • 2017-10-10
    • 2019-02-28
    • 2018-12-01
    • 2020-11-09
    相关资源
    最近更新 更多