title: getting " 'android:icon' attribute: attribute is not a string value” error while uploading an APK to the play store
body: <h2>Background</h2>
  
  <p>After so many hours of my free time, I'm ready to publish my very first app to the play store, but sadly I'm having difficulties uploading the signed app.</p>
  
  <p>I've successfully exported the app with the keystore I've created (all via Eclipse &amp; ADT), so I have the signed APK to be uploaded to the play store (<a href="https://play.google.com/apps/publish/" rel="nofollow noreferrer"><strong>here</strong></a>).</p>
  
  <h2>The problem</h2>
  
  <p>I keep getting this message:</p>
  
  <blockquote>
    <p>Upload failed Your APK cannot be analyzed using 'aapt dump badging'.
    Error output: Failed to run aapt dump badging: W/ResourceType(14856):
    No known package when getting value for resource number 0x01080049
    ERROR getting 'android:icon' attribute: attribute is not a string
    value</p>
  </blockquote>
  
  <p>as such:</p>
  
  <p><img src="https://i.stack.imgur.com/HdhS8.png" alt="enter image description here"></p>
  
  <p>The app itself works very well on real devices, and the image file being used is a normal PNG file as used by the <a href="http://android-ui-utils.googlecode.com/hg/asset-studio/dist/icons-launcher.html" rel="nofollow noreferrer"><strong>android-assets-studio website</strong></a>.</p>
  
  <h2>What I've tried</h2>
  
  <p>I've searched here on StackOverflow and found many posts about it (<a href="https://stackoverflow.com/search?q=%E2%80%9CERROR%20getting%20%27android:icon%27%20attribute:%20attribute%20is%20not%20a%20string%20value%E2%80%9D"><strong>here</strong></a>). I've read many of them and tried the next things, but nothing has helped:</p>
  
  <ol>
  <li><p>put the app icon on a different folder/s ("drawable", "drawable-mdpi", ... even "drawable-xxxhdpi") with multiple combinations (put/remove from each of the folders).</p></li>
  <li><p>setting the label, icon and theme on both the "application" tag and on the launcher activity tag.</p></li>
  <li><p>change the image file name and the file itself (replaced it with the default app icons).</p></li>
  <li><p>clean up the project.</p></li>
  <li><p>Checking Lint messages.</p></li>
  <li><p>updating ADT (to 22.3.0.v201310242005-887826), Eclipse (to Kepler Service Release 1), SDK tools (to 22.3), SDK build tools (to 19.0.1). Everything is pretty much the latest official version.</p></li>
  <li><p>checking that there's no double jar file being used (that no jar file exists on more than one library, especially if it has different versions).</p></li>
  <li><p>tried putting the strings.xml into "res/values-en" instead of "res/values"</p></li>
  <li><p>tried adding "android:value" attribute to all meta-data tags on the manifest (suggested by Google). It didn't work. In fact, in all of the tutorials I've read, I never saw such a requirement from an AppWidget, so I think it's not needed anyway.</p></li>
  <li><p>tried the aapt command:</p>
  
  <pre><code>aapt dump badging
  </code></pre></li>
  </ol>
  
  <p>This has shown me about the same thing the play store shows (I've replaced the real package name and app name with XXX just here):</p>
  
  <blockquote>
  <pre><code>application: label='XXX XXX' icon='res/drawable-mdpi/app_icon.png'
  launchable-activity: name='XXX.XXX.XXXActivity'  label='XXX XXX' icon='res/drawable-mdpi/app_icon.png'
  W/ResourceType( 9132): No known package when getting value for resource number 0
  x01080049
  ERROR getting 'android:icon' attribute: attribute is not a string value
  </code></pre>
  </blockquote>
  
  <p>This happens even though the file do exist inside this folder.</p>
  
  <p>Here's the manifest. Again, replaced the real paths and names of the activities and app with XXX. I can assure you that the paths are correct as the app can run just fine.</p>
  
  <pre><code>&lt;manifest xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:tools="http://schemas.android.com/tools"
      package="XXX.XXX"
      android:installLocation="auto"
      android:versionCode="2"
      android:versionName="1.0" &gt;
  
      &lt;uses-sdk
          android:minSdkVersion="9"
          android:targetSdkVersion="19" /&gt;
  
      &lt;supports-screens
          android:anyDensity="true"
          android:largeScreens="true"
          android:normalScreens="true"
          android:smallScreens="true"
          android:xlargeScreens="true" /&gt;
  
      &lt;uses-permission android:name="com.android.launcher
                                     .permission.INSTALL_SHORTCUT" /&gt;
      &lt;uses-permission android:name="android
                                     .permission.KILL_BACKGROUND_PROCESSES" /&gt;
      &lt;uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /&gt;
      &lt;uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /&gt;
      &lt;uses-permission android:name="android.permission.ACCESS_SUPERUSER" /&gt;
  
      &lt;!-- required for admob: --&gt;
      &lt;uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /&gt;
      &lt;uses-permission android:name="android.permission.INTERNET" /&gt;
  
      &lt;!-- required for in-app billing . --&gt;
      &lt;uses-permission android:name="com.android.vending.BILLING" /&gt;
      &lt;!-- needed for payload of in-app billing --&gt;
      &lt;uses-permission android:name="android.permission.GET_ACCOUNTS" /&gt;
  
      &lt;application
          android:name="XXX.XXX.XXX"
          android:allowBackup="true"
          android:description="@string/app_description"
          android:hardwareAccelerated="true"
          android:icon="@drawable/app_icon"
          android:label="@string/app_name"
          android:theme="@style/AppTheme" &gt;
  
          &lt;activity
              android:name="XXX.XXXActivity"
              android:clearTaskOnLaunch="true"
              android:configChanges="keyboard|keyboardHidden|orientation|
                                     screenLayout|uiMode|screenSize|
                                     smallestScreenSize"
              android:finishOnTaskLaunch="true"
              android:icon="@drawable/app_icon"
              android:label="@string/XXX"
              android:launchMode="singleTask"
              android:screenOrientation="fullSensor" &gt;
              &lt;intent-filter&gt;
                  &lt;action android:name="android.intent.action.MAIN" /&gt;
                  &lt;category android:name="android.intent.category.LAUNCHER" /&gt;
              &lt;/intent-filter&gt;
          &lt;/activity&gt;
       ... (other activities and services)
  </code></pre>
  
  <h2>The question</h2>
  
  <p>What is going on?</p>
  
  <p>How do I overcome this?</p>