1

We recently had a problem with an application upgrade on Android Market.

Namely, after publishing the upgrade on our publisher account, the Market application on one of our six devices didn't find any upgrade. There was no upgrade notification and Market only displays the old version.

The devices where we managed to upgrade our application without any problems are:

  • Motorola Milestone with Android 2.1
  • HTC Incredible with Android 2.2 and Market 3.4.4
  • Samsung Galaxy Tab with Android 2.3.3 and Market 3.4.4
  • HTC Incredible S with Android 2.3 and Market 3.4.4
  • Iconia a1000 with Android 3.2 and Market 1.0.28

The device where we didn't manage to upgrade our application is:

  • LG Optimus Me P350 with Android 2.2 and Market 3.4.4.

The permissions and features in the first version of our application are:

ACCESS_NETWORK_STATE
INTERNET
WRITE_EXTERNAL_STORAGE
android.hardware.touchscreen
android.hardware.screen.portrait

while in the second version we added:

RECORD_AUDIO
RECORD_VIDEO
CAMERA
READ_PHONE_STATE
BILLING
ACCESS_FINE_LOCATION
WAKE_LOCK
GET_ACCOUNTS`
android.hardware.camera
android.hardware.microphone
android.hardware.location
android.hardware.location.gps
android.hardware.camera.autofocus
android.hardware.screen.landscape

Also we added some in-app products when we published the second version.

the Tin Man
  • 158,662
  • 42
  • 215
  • 303
Tamara
  • 275
  • 1
  • 10

1 Answers1

4

The Android Market filters the devices according to your permissions. Some devices lack a feature you request permission for, but the app would still be compatible.

Use < uses-feature > to tell the market which hardware configuration is really needed. If you don't use < uses-feature > the market will filter only by permission.

stefan
  • 10,215
  • 4
  • 49
  • 90
  • the `uses-feature` is a good one, but the `required` attribute is the important one. A small sample: An application using google maps can't run the map on the `Kindle Fire`, but you can set `require="false"` and it will be installable. That the app is not crashing when you try to open the map is your responsibility (checking for the supported libs works in that case) – WarrenFaith Jan 02 '12 at 15:56
  • I'm not sure about the 'required' attribute. http://developer.android.com/guide/practices/compatibility.html and http://developer.android.com/guide/appendix/market-filters.html do only mention < uses-feature > for market filtering. – stefan Jan 02 '12 at 16:39
  • Thank you very much. Setting required="false" for features worked! – Tamara Jan 05 '12 at 14:42
  • I found that Camera is particularly weird: If it only has front facing camera it does not count as a Camera.(http://android-developers.blogspot.com/2012/07/getting-your-app-ready-for-jelly-bean.html) – Johan vdH Dec 25 '13 at 02:45