title: Xamarin Android Java Binding: Missing class (XMLReader)
body: <p>I'm facing some warnings nearly always when I'm on a Xamarin.Android project, and using a Java Binding Library. I obtain the following warnings:</p>
  
  <pre><code>7&gt;BINDINGSGENERATOR : warning BG8800: Unknown parameter type 
  System.Xml.XmlReader in method CreateFromXml in managed type Android.Content.Res.ColorStateList.
  7&gt;BINDINGSGENERATOR : warning BG8800: Unknown parameter type 
  System.Xml.XmlReader in method CreateFromXml in managed type Android.Content.Res.ColorStateList.
  7&gt;BINDINGSGENERATOR : warning BG8800: Unknown parameter type 
  System.Xml.XmlReader in method ParseBundleExtras in managed type Android.Content.Res.Resources.
  7&gt;BINDINGSGENERATOR : warning BG8800: Unknown parameter type 
  System.Xml.XmlReader in method CreateFromXml in managed type Android.Graphics.Drawables.Drawable.
  7&gt;BINDINGSGENERATOR : warning BG8800: Unknown parameter type 
  System.Xml.XmlReader in method CreateFromXml in managed type Android.Graphics.Drawables.Drawable.
  7&gt;BINDINGSGENERATOR : warning BG8800: Unknown parameter type 
  System.Xml.XmlReader in method CreateFromXmlInner in managed type Android.Graphics.Drawables.Drawable.
  7&gt;BINDINGSGENERATOR : warning BG8800: Unknown parameter type 
  System.Xml.XmlReader in method CreateFromXmlInner in managed type Android.Graphics.Drawables.Drawable.
  7&gt;BINDINGSGENERATOR : warning BG8800: Unknown parameter type 
  System.Xml.XmlReader in method Inflate in managed type Android.Graphics.Drawables.Drawable.
  7&gt;BINDINGSGENERATOR : warning BG8800: Unknown parameter type 
  System.Xml.XmlReader in method Inflate in managed type Android.Graphics.Drawables.Drawable.
  7&gt;BINDINGSGENERATOR : warning BG8800: Unknown parameter type 
  System.Xml.XmlReader in method ParseIntent in managed type Android.Content.Intent.
  7&gt;BINDINGSGENERATOR : warning BG8800: Unknown parameter type System.Xml.XmlReader in method ReadFromXml in managed type Android.Content.IntentFilter.
  </code></pre>
  
  <p>My first thought was that it was missing the System.XML.XMLReader NuGet dependency, but it had no sense. I added the dependency, and didn't work.</p>
  
  <p>Later, viewing the code (e.g. <a href="https://android.googlesource.com/platform/frameworks/base/+/135936072b24b090fb63940aea41b408d855a4f3/core/java/android/content/Intent.java" rel="noreferrer">android.content.Intent</a>), I realized that somehow it's getting wrong when resolving the required class. It's not the System.XML .Net framework one, but XMLReader class from Android Framework.</p>
  
  <p>Any idea on pointing the binding proccess to the right direction, telling explicitely what class to pick? Some metadata.xml rule? Thanks</p>
  
  <p>EDIT: I'm trying with this:</p>
  
  <pre><code>&lt;attr path="/api/package[@name='android.content.res']/class[@name='Resources']/method[@name='parseBundleExtras']/parameter[0]"
      name="type"&gt;android.content.res.XmlResourceParser&lt;/attr&gt;
  </code></pre>
  
  <p>as can be seen <a href="https://android.googlesource.com/platform/frameworks/base/+/refs/heads/master/core/java/android/content/res/Resources.java#1995" rel="noreferrer">here</a>, but parser is not finding anything, even using a less fine-grained query:</p>
  
  <pre><code>Metadata.xml(15, 4) warning BG8A04: &lt;attr path="/api/package[@name='android.content.res']/class[@name='Resources']"/&gt; matched no nodes. Seems that I can't make that metadata changes in Android framework directly?
  </code></pre>