Android app is supported by 0 devices
Asked Answered
W

14

50

I'm having trouble with the Google Play store that insists that my app is supported by 0 devices. I've tried all the solutions I found on SO and elsewhere. This isn't about the apk being inactive, it gets activated be default and I've even tried to deactivate and reactivate it.

I've tested it on my Galaxy Nexus and it works very well, there's no reason for it to be incompatible with every single Android device...

Here's my manifest file:

<uses-sdk
    android:minSdkVersion="14"
    android:targetSdkVersion="17" />

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

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

<uses-feature
    android:name="android.hardware.accelerometer"
    android:required="true" />
<uses-feature
    android:name="android.hardware.screen.portrait"
    android:required="false" />

The full project source can be found here: https://github.com/Nurgak/Android-Bluetooth-Remote-Control as it's open-source.

This is what I see on Google Play. enter image description here

The 5 features being

android.hardware.ACCELEROMETER
android.hardware.BLUETOOTH
android.hardware.CAMERA
android.hardware.camera.AUTOFOCUS
android.hardware.TOUCHSCREEN

And 4 permissions

android.permission.BLUETOOTH
android.permission.BLUETOOTH_ADMIN
android.permission.CAMERA
android.permission.INTERNET

I'm absolutely appalled by their support too, I've only gotten generic "hey have you looked at our FAQs?" replies to e-mails.

Wilbourn answered 24/12, 2012 at 10:42 Comment(2)
Thanks for the sreenshot. I recomend always give a look to the "APK details" in order to review that everything is allright.Primus
I was getting "supported by 150 devices" and changed this by lowering my minSdkVersionCloe
D
18
  • Try changing the apk name from com.bluetooth to com.nurgak.bluetoothremote
  • Try setting all the uses-feature"-tags to false
  • Try removing all permissions (I know the app won't work without them, but just for the sake of figuring out why Google Play says that the app supports 0 devices)

P.S.: You don't need android.hardware.screen.portrait if you set it to false, anyway. It doesn't have an effect in that case.

Duteous answered 24/12, 2012 at 10:48 Comment(4)
It was the android.hardware.ACCELEROMETER that should've been android.hardware.sensor.ACCELEROMETER. The renaming wasn't necessary.Wilbourn
I'm glad you were able to fix it!Duteous
Thanks. It helps me :)Whipcord
Please take in consideration to change the accepted answer to the one of Gouda Elalfy.Minnaminnaminnie
J
55

I had faced a similar issue when I had declared camera hardware in uses-feature tag in manifest file in my application as follows:

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

If you don't specify the android:required attribute it defaults to "true". Thus, Google Play Store will assume that the application will not work unless the camera hardware is present.

Once you set android:required to false as given below, Play Store will accept the APK and will show a list of devices available for the application.

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

You may also look for misspellings on features descriptors. For supported feature descriptors see http://developer.android.com/guide/topics/manifest/uses-feature-element.html#features-reference

For more information: http://developer.android.com/guide/topics/manifest/uses-feature-element.html

Jilly answered 15/3, 2015 at 7:41 Comment(1)
Amazing thank you helped with our Xamarin app receiving the same error.Riles
L
40

Go to release management then -> Device catalog, and select any Unsupported device to show its details and you will see the reason why this device doesn't supported

enter image description here

enter image description here

enter image description here

Longinus answered 5/2, 2018 at 17:21 Comment(2)
Can this be set as the accepted answer? It provides exact instructions on how to troubleshoot the issue instead of trying to guess what the problem is!Skeen
Mine says "Available on 0 device" on the private alpha track, but when i open the device catalog, or even open "release details" says 2000+ devices supported. App not appearing in the store. There is definitely a bug in my case.Ockeghem
C
35

We recently moved to Android Studio (from Eclipse) and I was trying to upload my first production version built with Studio, and I got the dreaded "Supported Android Devices 0" message when I uploaded my APK. The solution ended up being how we were including the apache commons codec library.

Check your build.gradle file - if you see something like:

compile 'org.apache.directory.studio:org.apache.commons.codec:1.+'

change it to:

compile 'commons-codec:commons-codec:1.+'

My theory is that the "org.apache.directory.studio" part of the namespace is screwing up the developer console and using the shorthand works fine.

How did I discover this? Well, I didn't, they did I just got lucky and found their commit message via a Google search.

Counterrevolution answered 23/9, 2015 at 21:22 Comment(3)
This was a life saving answer! in my case it was the other issue mentioned on in the page you mentioned i.e. compile 'org.apache.directory.studio:org.apache.commons.io:2.4' that was the culprit. I had to change it to compile 'commons-io:commons-io:2.4'Bleareyed
Thanks a lot... It saved the life of my first android app. Have changed to commons-io:commons-io:x.x and it got supported by 1000's of devices.Bygone
Thank you very much, my problem resolve after 2 days. I change compile 'org.apache.directory.studio:org.apache.commons.lang:2.6' to compile 'commons-lang:commons-lang:2.6' and problem resolved.Mokas
R
32

To me the issue was this line in the manifest file:

<uses-feature android:name="android.hardware.camera2" />

I would've spend maybe quite some time to track it down but, fortunately, Google provides in the developer console the ability to contact them via chat (for some reason that option is not present anymore ATMW, maybe it's capped?). They were able to pinpoint the issue in a few minutes, I had to change the above line to

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

Quite a time saver, so thanks Google!

Recognize answered 4/8, 2016 at 9:41 Comment(1)
Thanks a lot..Work like charmQualmish
O
21

Sometimes the reason for this is a third party library that you have referenced. If you can find which one is it and if you can remove it you can solve the problem.

In my case I had to remove:

org.apache.commons.io:2.4

Octaviooctavius answered 16/9, 2015 at 11:35 Comment(1)
No need to remove the dependency - see this answer: https://mcmap.net/q/212213/-android-app-is-supported-by-0-devicesCounterrevolution
D
18
  • Try changing the apk name from com.bluetooth to com.nurgak.bluetoothremote
  • Try setting all the uses-feature"-tags to false
  • Try removing all permissions (I know the app won't work without them, but just for the sake of figuring out why Google Play says that the app supports 0 devices)

P.S.: You don't need android.hardware.screen.portrait if you set it to false, anyway. It doesn't have an effect in that case.

Duteous answered 24/12, 2012 at 10:48 Comment(4)
It was the android.hardware.ACCELEROMETER that should've been android.hardware.sensor.ACCELEROMETER. The renaming wasn't necessary.Wilbourn
I'm glad you were able to fix it!Duteous
Thanks. It helps me :)Whipcord
Please take in consideration to change the accepted answer to the one of Gouda Elalfy.Minnaminnaminnie
E
4

I had a similar problem. My solution was to write this line correct in the manifest:

<uses-feature android:name="android.hardware.sensor.barometer" android:required="true" />
Exo answered 5/2, 2013 at 16:13 Comment(0)
E
2

though this question is answered, some additional amendments,, remove any .jar dependency (specially common-io.*.jar dependency). i was able to resolve the issue after solving dependency issue.

Elope answered 21/1, 2016 at 8:57 Comment(0)
A
0

In case of using gradle, make sure all the manifest in your project are aligned to the min/max/target sdk version.

Acidulent answered 25/2, 2015 at 10:54 Comment(0)
L
0

I also had a problem with 0 supported devices, but the cause was different. One of the libraries would create a lib/README.txt file inside the generated APK. Upon uploading the APK to the Google Play Console, the lib/README.txt file would be picked up by the APK analysis tool and would be considered as a native library which wasn't supported by any device.

I have fixed the issue by removing the file from the APK using following Gradle configuration in build.gradle file:

android {
    ...

    packagingOptions {
        exclude 'lib/README.txt'
    }
}
Liturgical answered 1/6, 2017 at 16:41 Comment(0)
W
0

I had this problem. Fixed by removing all in the manifest.

Wyckoff answered 15/6, 2017 at 23:9 Comment(0)
C
0

I know it is late to answer, I face the same problem. With setting all users-features as false, play store still shows zero devices supported.

Here is solution, hope will help someone

   <uses-feature
            android:glEsVersion="0x00020000"
            android:required="true" />

Also

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

Hope it help.

Cauterize answered 13/7, 2017 at 11:45 Comment(0)
S
0

I found that this issue is caused by AndroidManifest.xml file. Just replace

<uses-feature android:name="android.hardware.accelerometer" android:required="true"/>

with

<uses-feature android:name="android.hardware.sensor.accelerometer" android:required="true"/>
Swanhilda answered 7/3, 2019 at 9:9 Comment(0)
T
0

Mine related to the Zxing barcode scanner features. I chatted with developer support who identified that i had an issue with the android.hardware.camera.autoFocus property. Support wasn't sure what I needed to do in order to fix the issue. Using answers above, I added android:required="false" in the manifest file.

From 0 devices to Supported Android devices 7,856

Change from:

<!--barcode scan-->
<uses-feature android:name="android.hardware.camera.autoFocus"/>
<uses-feature android:name="android.hardware.camera"/>

to

<!--barcode scan-->
<uses-feature android:name="android.hardware.camera.autoFocus" android:required="false"/>
<uses-feature android:name="android.hardware.camera" android:required="false"/>
Transition answered 19/2, 2021 at 20:36 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.