title: Xamarin - .aar Java Binding - The name '[method name]' does not exist in the current context
body: <p>I am trying to create binding for <a href="https://github.com/facebook/FBNotifications" rel="nofollow">Facebook Notification</a> .aar library.</p>
  
  <p>However I am getting compile errors:</p>
  
  <p><a href="https://i.stack.imgur.com/g5VJX.png" rel="nofollow"><img src="https://i.stack.imgur.com/g5VJX.png" alt="enter image description here"></a></p>
  
  <blockquote>
    <p>Severity  Code    Description Project File    Line    Suppression State
    Error CS0103  The name 'CreateAsset' does not exist in the current
    context   FBNotifications C:\Users\jakub\documents\visual studio
    2015\Projects\FBNotifications\FBNotifications\obj\Release\generated\src\Com.Facebook.Notifications.Internal.Asset.Handlers.BitmapAssetHandler.cs  344 Active</p>
    
    <p>Severity  Code    Description Project File    Line    Suppression State
    Error CS0103  The name 'CreateView' does not exist in the current
    context   FBNotifications C:\Users\jakub\documents\visual studio
    2015\Projects\FBNotifications\FBNotifications\obj\Release\generated\src\Com.Facebook.Notifications.Internal.Asset.Handlers.BitmapAssetHandler.cs  350 Active</p>
  </blockquote>
  
  <p>The methods that have the problem are following:</p>
  
  <p><a href="https://i.stack.imgur.com/9vqr3.png" rel="nofollow"><img src="https://i.stack.imgur.com/9vqr3.png" alt="enter image description here"></a></p>
  
  <pre><code>// This method is explicitly implemented as a member of an instantiated Com.Facebook.Notifications.Internal.Asset.AssetManager.IAssetHandler
          global::Java.Lang.Object global::Com.Facebook.Notifications.Internal.Asset.AssetManager.IAssetHandler.CreateAsset (global::Org.Json.JSONObject p0, global::Com.Facebook.Notifications.Internal.Asset.AssetManager.IAssetCache p1)
          {
              return global::Java.Interop.JavaObjectExtensions.JavaCast&lt;Java.Lang.Object&gt;(CreateAsset (p0, p1));
          }
  
          // This method is explicitly implemented as a member of an instantiated Com.Facebook.Notifications.Internal.Asset.AssetManager.IAssetHandler
          global::Android.Views.View global::Com.Facebook.Notifications.Internal.Asset.AssetManager.IAssetHandler.CreateView (global::Java.Lang.Object p0, global::Android.Content.Context p1)
          {
              return CreateView (global::Java.Interop.JavaObjectExtensions.JavaCast&lt;global::Com.Facebook.Notifications.Internal.Asset.Handlers.BitmapAssetHandler.BitmapAsset&gt;(p0), p1);
          }
  </code></pre>
  
  <p>I can see that the code issue can be fixed like this:</p>
  
  <pre><code>// This method is explicitly implemented as a member of an instantiated Com.Facebook.Notifications.Internal.Asset.AssetManager.IAssetHandler
          global::Java.Lang.Object global::Com.Facebook.Notifications.Internal.Asset.AssetManager.IAssetHandler.CreateAsset (global::Org.Json.JSONObject p0, global::Com.Facebook.Notifications.Internal.Asset.AssetManager.IAssetCache p1)
          {
              return global::Java.Interop.JavaObjectExtensions.JavaCast&lt;Java.Lang.Object&gt;(((AssetManager.IAssetHandler)this).CreateAsset (p0, p1));
          }
  
      // This method is explicitly implemented as a member of an instantiated Com.Facebook.Notifications.Internal.Asset.AssetManager.IAssetHandler
      global::Android.Views.View global::Com.Facebook.Notifications.Internal.Asset.AssetManager.IAssetHandler.CreateView (global::Java.Lang.Object p0, global::Android.Content.Context p1)
      {
          return ((AssetManager.IAssetHandler)this).CreateView (global::Java.Interop.JavaObjectExtensions.JavaCast&lt;global::Com.Facebook.Notifications.Internal.Asset.Handlers.BitmapAssetHandler.BitmapAsset&gt;(p0), p1);
      }
  </code></pre>
  
  <p>I thought that creating a partial class for BitmapAssetHandler and putting there the corrected method while removing it in <strong>Metadata.xml</strong> would fix it but it doesn't seem like it.</p>
  
  <pre><code>&lt;remove-node path="/api/package[@name='com.facebook.notifications.internal.asset.handlers']/class[@name='BitmapAssetHandler']/method[@name='CreateAsset']" /&gt;
    &lt;remove-node path="/api/package[@name='com.facebook.notifications.internal.asset.handlers']/class[@name='BitmapAssetHandler']/method[@name='CreateView']" /&gt;
  </code></pre>
  
  <p>If I do that then I get error that the methods exist twice (somehow they do not get removed from the generated code). I hope it's not too complex of a problem. Is my approach correct? Or is there something else needed to be done to be able to get it working.</p>