title: Why does the Google Play store say my Android app is incompatible with my own device?
body: <p>I am hesitant to ask this question, because it appears as though <a href="https://www.google.co.nz/webhp?sourceid=chrome-instant&amp;ix=sea&amp;ie=UTF-8#hl=en&amp;safe=off&amp;output=search&amp;sclient=psy-ab&amp;q=android%20%22This%20app%20is%20incompatible%20with%22%20site%3Astackoverflow.com&amp;oq=&amp;aq=&amp;aqi=&amp;aql=&amp;gs_l=&amp;pbx=1&amp;fp=1&amp;ix=sea&amp;biw=1050&amp;bih=675&amp;bav=on.2,or.r_gc.r_pw.r_cp.r_qf.,cf.osb&amp;cad=b" rel="noreferrer">many people have a similar problem</a> and yet I have found no solution that solves my particular instance.</p>
  
  <p>I have developed an Android app (<a href="https://play.google.com/store/apps/details?id=com.hewgill.android.nzsldict" rel="noreferrer">link to the actual app</a>) and have uploaded it to the Play store. The Play store says</p>
  
  <p><code>"This app is incompatible with your XT Mobile Network HTC HTC Wildfire S A510b."</code> </p>
  
  <p>Of course that is the phone on which I developed the app, so it <em>ought</em> to be compatible. Some people with other devices say that it reports compatible, others say it reports incompatible, but I can find no trend. (Apparently I don't know very many people with Android devices.)</p>
  
  <p>I have tried the following:</p>
  
  <ul>
  <li><p>moving a large-ish file out of the <code>res/raw</code> directory as suggested by <a href="https://stackoverflow.com/a/7358228/893">this answer</a>. The only file in there was a ~700 kB text file, but I moved it to <code>assets/</code> with no apparent change.</p></li>
  <li><p>adding the following two feature assertions:</p>
  
  <pre><code>&lt;uses-feature android:name="android.hardware.faketouch" /&gt;
  &lt;uses-feature android:name="android.hardware.touchscreen" android:required="false" /&gt;
  </code></pre>
  
  <p>thinking that maybe my phone doesn't claim to support the usual <code>android.hardware.touchscreen</code> feature, but again, with no apparent change.</p></li>
  </ul>
  
  <p>When uploading the APK to the Play store, the only filter that it reports as active is the <code>android.hardware.faketouch</code> feature.</p>
  
  <p>The following is the output of <code>aapt dump badging bin/NZSLDict-release.apk</code>:</p>
  
  <pre><code>package: name='com.hewgill.android.nzsldict' versionCode='3' versionName='1.0.2'
  sdkVersion:'4'
  targetSdkVersion:'4'
  uses-feature:'android.hardware.faketouch'
  uses-feature-not-required:'android.hardware.touchscreen'
  application-label:'NZSL Dictionary'
  application-icon-160:'res/drawable/icon.png'
  application: label='NZSL Dictionary' icon='res/drawable/icon.png'
  launchable-activity: name='com.hewgill.android.nzsldict.NZSLDictionary'  label='NZSL Dictionary' icon=''
  main
  other-activities
  supports-screens: 'small' 'normal' 'large'
  supports-any-density: 'true'
  locales: '--_--'
  densities: '160'
  </code></pre>
  
  <p>and for completeness, my manifest file:</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.hewgill.android.nzsldict"
        android:versionCode="3"
        android:versionName="1.0.2"&gt;
      &lt;uses-sdk android:minSdkVersion="4" android:targetSdkVersion="4" /&gt;
      &lt;uses-feature android:name="android.hardware.faketouch" /&gt;
      &lt;uses-feature android:name="android.hardware.touchscreen" android:required="false" /&gt;
      &lt;application android:label="@string/app_name"
          android:icon="@drawable/icon"&gt;
          &lt;activity android:name="NZSLDictionary"
                    android:label="@string/app_name"&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;
          &lt;activity android:name=".WordActivity" /&gt;
          &lt;activity android:name=".VideoActivity" /&gt;
          &lt;activity android:name=".AboutActivity" /&gt;
      &lt;/application&gt;
  &lt;/manifest&gt; 
  </code></pre>
  
  <p>In the "Device Availability" section of the Play store, I can see that all the HTC devices, including the Wildfire S, are supported except for "G1 (trout)" and "Touch Viva (opal)", whatever those are. Actually I see that both "Wildfire S (marvel)" and "Wildfire S A515c (marvelc)" are listed as supported, but my "Wildfire S A510b" is not specifically mentioned. Can this sort of sub-model identifier matter that much? I have been able to download several other apps from Google Play to my phone with no problems.</p>
  
  <p>The only thing I <em>haven't</em> done at this point is wait 4-6 hours after uploading the latest version (as in <a href="https://stackoverflow.com/a/9008063/893">this comment</a>) to see whether it still says it's incompatible with my phone. However, the Play store page currently shows 1.0.2 which is the latest I have uploaded.</p>