9

I am currently developing a camera app. Now one of the users is complaining that his device is not supported. It's a Acer A200:

I don't see any reason why android market / google play marks the app as not supported for this device. Do you know what might be the reason?

Here is the manifest:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="net.ttttrash.myapp"
    android:versionCode="32"
    android:versionName="3.2" >

    <application
        android:icon="@drawable/icon"
        android:label="@string/app_name"
        android:hardwareAccelerated="true">
        <activity
            android:name=".CameraActivity"
            android:configChanges="keyboard|orientation|keyboardHidden"
            android:label="@string/app_name"
            android:windowSoftInputMode="adjustPan" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
            <intent-filter>
                <action android:name="android.media.action.IMAGE_CAPTURE" />

                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity>
        <activity
            android:name="net.ttttrash.myapp.PreferenceActivity"
            android:label="@string/set_preferences" >
        </activity>
        <activity 
            android:name="com.google.ads.AdActivity"
            android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize">
        </activity>

    </application>

    <uses-sdk
        android:minSdkVersion="7"
        android:targetSdkVersion="8" />

    <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

    <uses-feature android:name="android.hardware.camera.autofocus" android:required="false" />

</manifest>
Praveenkumar
  • 24,084
  • 23
  • 95
  • 173
stoefln
  • 14,498
  • 18
  • 79
  • 138
  • Possibly android version mismatch? – Aleks G Jun 11 '12 at 07:57
  • @parag I don't think there would be any logs to paste. The app wouldn't even show when coming to market from that device – Aleks G Jun 11 '12 at 07:58
  • @AleksG Thanks .What issue there? – Parag Chauhan Jun 11 '12 at 07:59
  • @parag I don't know :) It's not my question. Looking at the manifest, the only thing I can possibly think of is the android version, but I don't see why the app wouldn't be available to Android 4.0.3 (default for Acer A200). – Aleks G Jun 11 '12 at 08:00
  • 1
    change the `android:targetSdkVersion="8"` to `android:targetSdkVersion="13"` or higher and check is there any issue if exist fix it. and now revert to `android:targetSdkVersion="8"` – Ravi1187342 Jun 11 '12 at 08:03
  • @stoefln did u get a solution for this issue??? – ghostCoder Jul 24 '12 at 12:17

5 Answers5

5

Thanks to Entreco I found the answer. Just looked up the supported devices in my app settings. Then, by comparing the feature specifications of the not supported tablet (Acer Iconia A200) to a supported device (A510 tablet) I found the answer: The A200 does not have a rear camera. So what's def. missing is following entry in the manifest:

<uses-feature android:name="android.hardware.camera.front" android:required="false" />

enter image description here

stoefln
  • 14,498
  • 18
  • 79
  • 138
4

Ok, this is a long shot, but could it be the camera is disabled for some reason on that particular device?

It seems that the following permission:

<uses-permission android:name="android.permission.CAMERA" />

Implies that your app is using android.hardware.camera and android.hardware.camera.autofocus features. However you defined only android.hardware.camera.autofocus as non-mandatory. So try adding:

<uses-feature android:name="android.hardware.camera" android:required="false" />

Details about google play application filtering

Praveenkumar
  • 24,084
  • 23
  • 95
  • 173
Caner
  • 57,267
  • 35
  • 174
  • 180
4

Add this to your manifest:

<supports-screens android:smallScreens="true"
              android:normalScreens="true"
              android:largeScreens="true"
              android:xlargeScreens="true" />

I'm assumuing that leaving out explicit support for tablets (xlargeScreens) causes Google Play to consider it unsupported.

David Wasser
  • 93,459
  • 16
  • 209
  • 274
2

I once had the same issue, when it turned out that the user installed a custom rom. This custom rom had a bug in the Camera (e.g. the camera was not supported, which is quite common for roms), and that was causing the app to not be compatible...

Also, double check in your google play developer account, if the Acer A200 is amongst the supported devices. E.g. in the developer console, check Device Catalogue under Release Management! There, you can search for your device, and you can see if the device is supported.enter image description here

Entreco
  • 12,738
  • 8
  • 75
  • 95
  • Wow- didnt know about that feature. Unfortunately it really lists the A200 under "not supported by manifest": http://postimage.org/image/yrwtidhe7/ Any ideas why? – stoefln Nov 08 '12 at 08:19
  • Oh- I just found the answer! – stoefln Nov 08 '12 at 08:30
  • nice! Yeah, they know how to hide it well, but it's really nice to get some more clues about what's going on – Entreco Nov 08 '12 at 09:34
  • 1
    For anyone trying to find the device list in 2018, it's called "Device Catalogue" under "Release Management"! :) – ᔕᖺᘎᕊ Aug 11 '18 at 16:04
0

I was getting "supported by 150 devices" and changed this by lowering my minSdkVersion from 28 to 24.

oliversisson
  • 2,229
  • 1
  • 14
  • 14