A potential user of my Android app has contacted me to report that they are unable to install my app from the Android Market.
They receive the following error when attempting to install the application:
"Application requires features not available on your device."
My app declares the following requirements in its manifest:
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.BATTERY_STATS" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature
android:name="android.hardware.camera"
android:required="false" />
<uses-feature
android:name="android.hardware.camera.autofocus"
android:required="false" />
<uses-feature
android:name="android.hardware.location"
android:required="true" />
<uses-feature
android:name="android.hardware.location.gps"
android:required="true" />
<uses-feature
android:name="android.hardware.screen.portrait"
android:required="true" />
The user's device is a Samsung Infuse 4G. I have been over the specs for Samsung Infuse and it is clear that has the necessary hardware to satisfy these requirements.
Moreover, the Samsung Infuse 4G is listed as a supported device for my app in the Android Market Developer Console "Device Availability" dialog.
Has anyone else seen this error? Can anyone suggest any possible causes for this error which could be addressed/worked around?
Many thanks.
When this happens on my app, I have a "debug" app that I temporarily publish in the market. I remove one restriction at a time until it installs properly for the customer.
Related
I am trying to publish app bundle on play store. It shows wifi only tablet not supported because of android.hardware.telephony feature. I set this feature's required flag to false. But still play console shows the same error in device catalogue. Any idea why it is showing an error as not supported device samsung galaxy A7 lite (wifi only)?
I am checking this problem in a following way: I upload app bundle then I save it. Before publishing I go to device catalogue to check the supported devices for the same app bundle. And there I see an error.
My AndroidManifest permissions and features:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-feature
android:name="android.hardware.camera"
android:required="false"
tools:node="replace"/>
<uses-feature
android:name="android.hardware.camera.autofocus"
android:required="false"
tools:node="replace"/>
<uses-feature
android:name="android.hardware.telephony"
android:required="false"
tools:node="replace"/>
Merged manifest:
Play console error:
Doesn't support required feature: android.hardware.telephony
This issue is solved. For others I am putting an answer here. It's funny that I just ignored that device catalogue for the saved release and rolled it out directly. That manifest changes started working for the release and play console started showing supported for the device which was unsupported previously. :)
This question have a lot of responses already but none of it helps me
I created an Android app and it says that I can't install it on tablet. If I run project from Android Studio on tablet it works perfectly.Also it doesn't find the app by name only on the tablet.
On desktop when open my app's page:
On tablet when open my app's page using a direct link:
My tablet has Android 4.4.2
in app gradle file:
minSdkVersion 16
targetSdkVersion 23
in app manifest I am using:
<!--for IMEI -> is not a must to have gsm-->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-feature
android:name="android.hardware.telephony"
android:required="false" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.DOWNLOAD_WITHOUT_NOTIFICATION" />
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
<uses-permission android:name="com.android.launcher.permission.UNINSTALL_SHORTCUT" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<!--is not a must to have autofocus or even camera-->
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature
android:name="android.hardware.camera"
android:required="false" />
<uses-feature
android:name="android.hardware.camera.autofocus"
android:required="false" />
<!--to support all screens-->
<supports-screens
android:anyDensity="true"
android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true" />
"For your app to be showcased in the 'Designed for tablets' list in the Play Store, you need to upload at least one 7-inch and one 10-inch screenshot. If you previously uploaded screenshots, make sure to move them into the right area below." This can be found when you are setting the distribution for your app on google play. If you do not provide a screenshot for this screen, Google will set your app just for phones.
Does your tablet have gps? If not you should probably add:
<uses-feature android:name="android.permission.ACCESS_FINE_LOCATION"
android:required="false" />
And also try adding xlargeScreens to true.
Check if your tablet is set in supported devicess.
Go to Play Dev Console, then click on APK, then under supported devices click 'see list' and navigate to Samsung to check if your device is set.
Alternatively in same APK section click on your current app version and in popup, check if your language (and region) are supported in Localizations section.
Both cases might checkout to be OK, but never hurts to check :)
I just upload my app and I found that in almost 60% of the devices isn't compatible (Google Play, compatibly devices).
I have this on my manifest
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-feature
android:glEsVersion="0x00020000"
android:required="false" />
<uses-feature android:name="android.hardware.camera" />
I try it on Nexus 7 (2012) and LG Optimus and none are compatible any ideas?
Best,
If you specify <uses-feature android:name="android.hardware.camera" /> then only devices with rear facing cameras will be included.
The Nexus 7 (2012) will not be compatible as it only has a front facing camera.
Android 4.2 added android.hardware.camera.any, which will allow devices that have a front or back facing camera.
See here for more info:
http://developer.android.com/guide/topics/manifest/uses-feature-element.html#hw-features
Also, if having a camera isn't mandatory for your app you can specify android:required="false" for the uses-feature. If you don't specify this then the default is android:required="true" and any device which does not have the feature will be deemed incompatible.
This is the link to my google app
QuizByte
The app was developed for android api level 13 and above. after publishing some of the phones (Samsung Duos(GT-S7262) )which should be compatible cant see the app in google play. sending a direct link to the phone to email and checking shows that 'this device is no compatible'.
I searched and tries everything I can
Tried adding and removed unused permissions but still no luck.
And when I upload it into google play it shows lots of samsung and sony(which should be compatible) in the incompatible-device list.
Thank you.
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
.
<uses-feature android:name="android.hardware.location" android:required="false"/>
<uses-feature android:name="android.hardware.location.network" android:required="false" />
<uses-feature android:name="android.hardware.location.gps" android:required="false"/>
<uses-feature android:name="android.hardware.touchscreen" android:required="false"/>
<uses-feature android:name = "android.hardware.screen.portrait" android:required="false"/>
<uses-feature android:name="android.hardware.faketouch" android:required="false" />
.
Compatible devices were increased (~+500) when I added in manifest
But it still shows not compatible with sony and samsung models
Made it working after Changing the minimun SDk Level to 9. Now its showing in the samsung sony devices,
Dont know the exact reson though.Thought that Someone with a similar problem may try this
Does anyone know how you can see why Google Play Store is marking specific devices for an app you created as 'not compatible' ?
I created an app and one of my testdevices was a GalaxyTab2. On this device all functions of the app are working no problem when you just put the apk on the device using a USB cable/or just downloading it from a website.
However when I upload the app to playstore the GalaxyTab2 is listed as an unsupported device. So GalaxyTab2 users are unable to install the app.
In the Google Play Developer Console you can see an overview of unsupported devices. But it seems that you can't get any info 'why' the device is unsupported.
This currenlty lists 1000 devices. Of these a lot will be unsupported due to the fact that their Android version is too old. But from some devices (like the GalaxyTab 2) I am sure they can and run the apk no problem.
Some lines of my manifest:
<supports-screens android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:xlargeScreens="true" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.FLASHLIGHT" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-sdk
android:minSdkVersion="9"
android:targetSdkVersion="16" />
Try adding:
<uses-feature android:name="android.hardware.camera.flash" android:required="false" />
<uses-feature android:name="android.hardware.camera.autofocus" android:required="false" />
To your manifest. Your FLASHLIGHT permission may imply that it is a required feature, and as the Galaxy Tab 2 doesn't have a flash, it'd be incompatible. Same for autofocus, as pointed out by #323go.
The problem can be with the feature requirements for certain permissions.
For example
<uses-permission android:name="android.permission.CAMERA" />
may include the requirement of AutoFocus, so I would try to add
<uses-feature android:name="android.hardware.camera.autofocus" android:required="false" />
to the AndroidManifest.xml.
Also the permission
<uses-permission android:name="android.permission.FLASHLIGHT" />
may include the requirement of flash hardware so I would add
<uses-feature android:name="android.hardware.camera.flash" android:required="false" />
as well.
Here you can find a list that shows all permissions that imply Feature Requirements
http://developer.android.com/guide/topics/manifest/uses-feature-element.html#permissions
Remove android:allowBackup="true"