3

I have an Android application on Android Market, but some users are complaining about an error shown when the installation starts, just after the download:

enter image description here

One of them sent me a video of this error showing up, and I could see that this error is not caused by the application, but probably in the verification of permission/features process.

As far as I know, this error is just happening on Motorola Droid/Milestone devices running Eclair, it doesn't happen with Froyo. Unfortunately, I don't have access to any device like this one in order to run logcat and check what's going on.

Here are my permission/features on AndroidManifest.xml:

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

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.FLASHLIGHT" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_GPS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
Flávio Faria
  • 6,575
  • 3
  • 39
  • 59
  • Would you post the list of the features not available the users complained about? – Shlublu Aug 30 '11 at 13:47
  • The market is not supposed to publish applications to devices when a requested permission is not supported by this device. Is the Motorala Droid in the "compatible devices" list in the Android market publisher console? – rds Aug 30 '11 at 13:59
  • Sorry rds, I don't know where to find the compatible devices list in the market console. I checked the specs of this device and it seems to have all the features needed to run the app... =/ – Flávio Faria Aug 30 '11 at 14:18
  • Screenshot to help you find list of compatible devices: http://i.imgur.com/ocLH6.png It is located on "Edit application" page – Sergey Glotov Aug 30 '11 at 14:37
  • Thank you Sergey! According to the publisher console, only Samsung Nexus S(crespo4g) and S(crespo) are compatible. This is not true, since I have my app running on 39 different devices, including Motorola Droid with Froyo. – Flávio Faria Aug 30 '11 at 14:42
  • Flavio, which features are involved in this issue, according to your user? Your XML looks fine, but it is difficult to help without knowing what goes wrong. – Shlublu Aug 30 '11 at 14:49
  • @Flavio Faria where are these tags nested in your AndroidManifest? – CrackerJack9 Aug 30 '11 at 20:45

3 Answers3

2

I finally found out what's happening by getting a Droid device and running logcat:

E/PackageManager( 1280): Package com.mycompany.myapp requires unavailable feature android.hardware.telephony; failing!

Motorola Droid devices running Eclair are not able to install applications that declare

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

in their manifest. It's very strange, though, because the Android Market should hide it from these devices. This is probably a bug caused by the changes made to the Eclair by Motorola, since it doesn't happen with other devices running Eclair, neither with the same Droid running Froyo.

Flávio Faria
  • 6,575
  • 3
  • 39
  • 59
1

The device say " this feature is not available in this device " when I'm installing an app downloaded from play store and i have to give it permission

1

According to the docs:

Android Market attempts to discover an application's implied feature requirements by examining other elements declared in the manifest file, specifically, <uses-permission> elements.

Given that, have you tried removing the uses-feature tags? Since those are implied by the uses-permissions tags, and you aren't using the "android:required" attribute.

Jim Baca
  • 6,112
  • 2
  • 24
  • 30