Lukasz
Lukasz

Reputation: 19926

Android Market - This application is available to over 0 devices?

I have published apk to the Android Market, activated and setup for free for all countries. enter image description here Android Market says, my application is not compatible with any of the devices. I can see an application when I access Android Market from the PC browser but I can not download it from any of the Android phone (the same device used to test application before release).

How is that possible if I have just few requirements? I have tested the application on a few quite old devices before upload and it worked.

Information from the Publishing options:

This application is only available to devices with these features, as defined in your application manifest.
Screen layouts: SMALL NORMAL LARGE XLARGE
Required device features
android.hardware.screen.portrait
android.hardware.touchscreen

*This application is available to over 0 devices.*

enter image description here

Information fron the APK tab:

VersionCode: 2
VersionName: 1.0.1
Size: 4.3M
Localized to: default
Permissions: android.permission.READ_PHONE_STATE, android.permission.INTERNET, android.permission.WRITE_EXTERNAL_STORAGE, android.permission.ACCESS_NETWORK_STATE
Features: android.hardware.screen.portrait, android.hardware.touchscreen
API level: 7-15+
Supported screens: small-xlarge
OpenGL textures: all

enter image description here

If it is not strange enough, I have another application at the same account with very similar requirements and it gives me: This application is available to over 746 devices. enter image description here What is going on?

UPDATE:

Because many answers suggests something like: "Just activate your APK..." I emphasize it again:

APK is ACTIVATED (as stated at the beginning of the question and presented on the screenshot above).

Upvotes: 21

Views: 9181

Answers (5)

dimlah
dimlah

Reputation: 403

My app after an update had was available for 0 devices.

Anyway I found the solution for my case, so you can check if it works for you as well.

my mistake was that I included .jar files in order to add some external libraries and not the respective external class folders. When I removed the .jar files and I just added the class folder then devices became over 700 again.

for example I had the facebook API (an old one, not the current) and I had created a jar file out of it in order to include it like this in my app. So when I removed the jar files and added the Facebook API projecy (Project Properties -> Java Build Path -> Projects -> Add..., the app was OK for the android market.

Upvotes: 16

Piro
Piro

Reputation: 2476

Probably your uploaded APK file is not active. You can check this in the APK tab and switch to "Advanced mode". Here you should have 2 categories, "Active" and "Inactive".

Your file is probably in the Inactive category and you can change it by clicking the Activate link that should be behind it.

Upvotes: 37

Antek
Antek

Reputation: 739

i had similar issue, and resolved it just following the advice from http://androidforums.com/threads/0-devices-support-my-app-no-compatible-devices-on-play-store.947943/ , which was to change in build.gradle line compile 'org.apache.directory.studio:org.apache.commons.codec:1.8' to compile 'commons-codec:commons-codec:1.8' (so more or less general rule can be drawn, that you need to delete org.apache.(...) up to the package name and then just double it before semicolon).

I would be glad though, if someone would point me out why it was like that. Looking for the second term in Maven Central through Android Studio returned no results actually, so I doubted at first if it is going to work at all.

Upvotes: 0

erdomester
erdomester

Reputation: 11829

Just activate the app on the APK files tab and you'll be ok.

Upvotes: 1

superjos
superjos

Reputation: 12735

For the records, I've found that one significant change that solved my case. Full explanation is at this post on Android Market Product Group.

Quick answer is remove the following uses-feature nodes from your manifest if present:

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

Upvotes: 2

Related Questions