Binding aar library - methods of the class are not available.

Hello, I am having a trouble to create dll for Marketingcloud sdk by Salesforce. Since the last update I am having a trouble to create bindings to access Initialization class. java lib code is as follows:

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

    ...

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

    public static @interface a {}

What I am doing in 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>

Result -> have dll built with Com.Salesforce.Marketingcloud.MarketingCloudSdk available, however the methods of the class are not there apart from public static abstract interface InitializationListener and public static abstract interface WhenReadyListener. public static void init(...), public static MarketingCloudSdk getInstance(), etc are not "visible"

I could not find any information on how to describe inherited classes in Metadata.xml any help would be appreciated @JonDouglas

Thank you.

Posts

  • ChristopherSinghChristopherSingh USMember ✭✭

    Were you able to resolve this issue? Having same problem with MarketingCloudSDK. Any help greatly appreciated.

  • DanilReedKurkinDanilReedKurkin GBUniversity ✭✭
    edited March 2018

    @ChristopherSingh I did resolve this issue -
    the packages are available to download

    PM> Install-Package marketingcloudsdkAndroid -Version 1.0.7

    PM> Install-Package marketingcloudsdkiOS -Version 1.0.1

    For future references - I had to add node to the whole class to make it work.
    The project can be looked at my

    **github.com/danilkurkin1/marketingcloudsdk/blob/master/marketingcloudsdk/Transforms/Metadata.xml **

    this forum doesn't let me post links here =(

  • ChristopherSinghChristopherSingh USMember ✭✭

    @DanilReedKurkin Thanks very much for your help. I did find your nuget package shortly after I messaged you. Great work! I may reference your binding project with a sample of integration and post on github somewhere for others.

  • DanilReedKurkinDanilReedKurkin GBUniversity ✭✭

    @ChristopherSingh I also add the this topic to StackOverflow but feel free to create something on your own and attache the references. This topic not very popular and more info is on the net - the easier it would be for people to find it. Glad I was helpful =)

    stackoverflow.com/questions/48865159/xamarin-aar-binding-issue-methods-of-the-class-are-not-visible/49281160#49281160

Sign In or Register to comment.