I have an app that should be supported on a huge number of devices, and yet when I upload it to Google Play, it says only 3 (out of 2263) are supported.
My manifest looks like this (minus Activities):
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="MYPACKAGE"
android:versionCode="101"
android:versionName="@string/app_version" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="15" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="com.android.vending.BILLING" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera.any" />
<supports-screens
android:anyDensity="true"
android:largeScreens="false"
android:normalScreens="true"
android:smallScreens="true"
android:xlargeScreens="false" />
<application
android:name=".MYApplication"
android:hardwareAccelerated="true"
android:icon="@drawable/app_icon"
android:label="@string/app_name"
android:theme="@style/RPTheme" >
ACTIVITY DECLARATIONS ARE HERE
<service android:name="com.parse.PushService" />
<receiver android:name="com.parse.ParseBroadcastReceiver" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<action android:name="android.intent.action.USER_PRESENT" />
</intent-filter>
</receiver>
<receiver android:name="MYPACKAGE.PushReceiver" >
<intent-filter>
<action android:name="1" />
</intent-filter>
</receiver>
</application>
Also, I've replaced my package name with MYPACKAGE.
Now that I'm looking at it again, perhaps this has to do with android:hardwareAccelerated="true" ? But my understanding is that XML declarations are ignored by API levels that don't support them.
Anyone have any ideas about what is going on here? Is there anywhere else the Play store looks for what devices are supported?
Thanks for your help!
EDIT:
Looks like it was indeed the android.hardware.camera.any, as noted below. I've replace that with:
<uses-feature
android:name="android.hardware.camera"
android:required="false" />
<uses-feature
android:name="android.hardware.camera.front"
android:required="false" />
And my app now has 2k+ supported devices.