title: A xmlns:android, how does that actually work?
body: <p>Consider the following perfectly well formed layout file on android:</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"&gt;
    &lt;TextView
      android:layout_width="fill_parent"
      android:layout_height="wrap_content"
      android:text="Hello World, PurpleActivity"/&gt;
  &lt;/LinearLayout&gt;
  </code></pre>
  
  <p>I looked at this and got curious about that ULR: <a href="http://schemas.android.com/apk/res/android" rel="noreferrer">http://schemas.android.com/apk/res/android</a>. So, I tried to enter it into my web browser's address bar and also tried to fetch it via CURL, but both methods showed that it doesn't actually exist. I looked for something akin to an apk/res/android directory in the android-sdk folder on my local machine, but that searched turned up nothing as well. So, I figured since this resource didn't actually exist, maybe that I could change the xmlns:android line to whatever I wanted. I went ahead and changed it to</p>
  
  <pre><code>http://schemas.android.com/apk/res/androidASDFASDFASDFASDFLKJSDFLEIE
  </code></pre>
  
  <p>and then tried to recompile my project. I got this result:</p>
  
  <pre><code>-resource-src:
       [echo] Generating R.java / Manifest.java from the resources...
       [aapt]     (skipping hidden file '/Users/rutski/Desktop/purple/res/layout/.#main.xml')
       [aapt] /Users/rutski/Desktop/purple/res/layout/main.xml:2: error: No resource identifier found for attribute 'orientation' in package 'androidASDFASDFASDFASDFLKJSDFLEIE'
       [aapt] /Users/rutski/Desktop/purple/res/layout/main.xml:2: error: No resource identifier found for attribute 'layout_width' in package 'androidASDFASDFASDFASDFLKJSDFLEIE'
       [aapt] /Users/rutski/Desktop/purple/res/layout/main.xml:2: error: No resource identifier found for attribute 'layout_height' in package 'androidASDFASDFASDFASDFLKJSDFLEIE'
       [aapt] /Users/rutski/Desktop/purple/res/layout/main.xml:7: error: No resource identifier found for attribute 'layout_width' in package 'androidASDFASDFASDFASDFLKJSDFLEIE'
       [aapt] /Users/rutski/Desktop/purple/res/layout/main.xml:7: error: No resource identifier found for attribute 'layout_height' in package 'androidASDFASDFASDFASDFLKJSDFLEIE'
       [aapt] /Users/rutski/Desktop/purple/res/layout/main.xml:7: error: No resource identifier found for attribute 'text' in package 'androidASDFASDFASDFASDFLKJSDFLEIE'
  </code></pre>
  
  <p>This leaves me confused. If the resource doesn't exist anyway, then what does it matter if I change the xmlns:android value to some other nonexistent resource? And if it does exist, then where is it?</p>