Xamarin aar绑定问题 - 类的方法不可见

时间:2018-02-19 11:25:36

标签: java xamarin binding metadata aar

我在使用Salesforce为Marketingcloud sdk创建dll时遇到了麻烦。自上次更新以来,我无法创建绑定以访问Initialization类。 java lib代码如下:

    public final class MarketingCloudSdk extends d.b { ... }

    ...

    static abstract class b
      {
        abstract void a(int paramInt);
      }

    public static @interface a {}

我在Metadata.xml中做了什么:

     <attr path="/api/package[@name='com.salesforce.marketingcloud']/class[@name='a']" name="obfuscated">false</attr>
      <attr path="/api/package[@name='com.salesforce.marketingcloud.d']/class[@name='b']" name="obfuscated">false</attr>
     <!--CS0542 'D': member names cannot be the same as their enclosing type-->
      <attr path="/api/package[@name='com.salesforce.marketingcloud']/class[@name='d']" name="managedName">dd</attr>
      <attr path="/api/package[@name='com.salesforce.marketingcloud']/class[@name='d']" name="obfuscated">false</attr>
    <attr path="/api/package[@name='com.salesforce.marketingcloud.d']/class[@name='b']" name="obfuscated">false</attr>

    <add-node path="/api/package[@name='com.salesforce.marketingcloud']">
        <class abstract="false" deprecated="not deprecated" final="true" name="MarketingCloudSdk" static="false" visibility="public" extends="java.lang.Object">
          <constructor deprecated="not deprecated" final="false" name="MarketingCloudSdk" static="false" type="com.salesforce.marketingcloud.MarketingCloudSdk" visibility="public" />
        </class>
      </add-node>

结果 - &gt;有可用的Com.Salesforce.Marketingcloud.MarketingCloudSdk构建的dll,但是除了公共静态抽象接口InitializationListener和公共静态抽象接口WhenReadyListener之外,该类的方法不存在。 public static void init(...),public static MarketingCloudSdk getInstance()等不是“可见的”

我找不到任何有关如何在Metadata.xml中描述继承类的信息,我们将非常感谢任何帮助

链接到aar

谢谢。

1 个答案:

答案 0 :(得分:0)

我确实解决了这个问题 - 包可以下载

PM&GT; Install-Package marketingcloudsdkAndroid -Version 1.0.7

PM&GT; Install-Package marketingcloudsdkiOS -Version 1.0.1

对于将来的引用 - 我必须将节点添加到整个类以使其工作。 该项目可以查看我的

https://github.com/danilkurkin1/marketingcloudsdk/blob/master/marketingcloudsdk/Transforms/Metadata.xml