I published my APK to Android market. I can search it via https://play.google.com/store/search?q=[package name], but I can't install it on my Nexus One device which running Android OS 2.3.6, the popup shows not compatible with your device. The manifest file is configured as below:
<supports-screens
android:largeScreens="true"
android:smallScreens="true"
android:normalScreens="true"
android:resizeable="true"
android:anyDensity="true"
/>
<uses-sdk android:minSdkVersion="8" />
<uses-permission android:name="android.permission.RECORD_AUDIO"></uses-permission>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.CAMERA" />
<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-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />
What problem in my configuration made My Nexus One device is filtered?
There's nothing wrong with your manifest; I'd wager you have Copy Protection enabled. From the documentation:
To copy protect an application, set copy protection to "On" when you
configure publishing options for your application. Google Play will
not show copy-protected applications on developer devices or
unreleased devices.
Since the Nexus One is a developer device, it will show as incompatible. I ran into this same issue on my Galaxy Nexus.
Add this to your manifest
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="15" />//=======> the target version is your wish(> 10)
Related
I developed my app for only Tablets. It was working fine previously but playstore app is not even listing my app on Nexus 7-in Tablet after recent update of my app. On playstore website it's showing the message -"Your device isn't compatible with this version". I'am able to see and download my app on 10-in Tablet. On developer console the Nexus7 is listed there as compatible.
These are the permissions and features added in my manifest.
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<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.WAKE_LOCK"/>
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-feature android:name="android.hardware.camera" android:required="false"/>
<uses-feature android:name="android.hardware.camera.autofocus"/>
<supports-screens android:smallScreens="false"
android:normalScreens="false"
android:largeScreens="true"
android:xlargeScreens="true"
android:requiresSmallestWidthDp="600" />
Please guide me why am'i getting this message.
Use android:required="false" for your
<uses-feature android:name="android.hardware.camera.autofocus"/>
I have just released a app on Google Play. It shows unsupported 808 devices out of which some are listed below for reference
MICROMAX
A44– tinnoes13_s7050 A45– tinnoes73_s8030_2g P300– crane-M701C_mmx A73– A73 P275– P275
Also some testing on friends devices I realize that Android 4.0 devices, dont show the app on Google Play.
My Manifest file has the following. What am I missing here ? Is there a way to support "all" devices?
android:versionCode="10"
android:versionName="1.18" >
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.READ_LOGS" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="com.android.vending.BILLING" />
<uses-permission android:name="android.permission.ACCESS_COARSE_UPDATES" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" />
<!-- <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" /> -->
<uses-sdk
android:maxSdkVersion="16"
android:minSdkVersion="8"
android:targetSdkVersion="16" />
<supports-screens
android:anyDensity="true"
android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true" />
I haven't mentioned the app since I dont want to violate SO's rules on self app promotion. If needed, I can mention it on a comment. Just request for it.
Don't use the maxSdkVersion attribute:
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="16" />
Any device with version > 16 will not show the app, f.e. devices running Android 4.2 (version 17).
Also, since you're requesting the android.permission.CALL_PHONE permission, the app will only be shown to devices that have phone capability. If your app can also run on devices that don't have phone capability, make it not required:
<uses-feature android:name="android.hardware.telephony" android:required="false" />
Same thing with android.permission.ACCESS_FINE_LOCATION, the app will only be shown for devices that have GPS, unless you make it not required:
<uses-feature android:name="android.hardware.location.gps" android:required="false" />
See http://developer.android.com/guide/topics/manifest/uses-feature-element.html#permissions for more info.
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"
I have following configuration in Manifest file :
<supports-screens
android:anyDensity="true"
android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true"
android:xlargeScreens="true" />
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="17" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" />
<uses-permission android:name="android.permission.SEND_SMS" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
I tried to run my app in Nexus 7 emulator, but it does not run in it. But it opens another emulator. How to run my application in Nexus 7 ?
Some permissions imply a <uses-feature> element look here to see what you need to add as an optional feature.
It will choose the AVD most compatible to the app even-though all your AVD might be compatible. But you are allow to choose which AVD you want to use and force your app to run on specific AVD.
If you are using Eclipse, then:
Right Click -> Run As -> Run Configurations
In the "Target" tab, you can choose to run on all active AVD or a specific AVD.
I think perhaps the problem is that the App requesting permission to things that don't exist on Nexus 7 Tab.
This permission in your manifest implicitly declares the "android.hardware.telephony" feature.
Refer to the document: http://developer.android.com/guide/topics/manifest/uses-feature-element.html#market-feature-filtering
<uses-permission android:name="android.permission.CALL_PHONE" />
Try this, keep the permission, but declare the "telephony" feature as false.
<uses-feature android:name="android.hardware.telephony" android:required="false"></uses-feature>
I Have 2 htc tattoo, and I have the next problem, I've made an app and when I upload the app to the market the app is showing on one tattoo but not on the other. Any Ideas?
I have activated all available markets, and deactivated the protections.
My manifest has the next configuration:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.LOCATION" />
<uses-permission android:name="android.permission.CAMERA" />
<supports-screens android:largeScreens="true"
android:normalScreens="true" android:smallScreens="true"
android:anyDensity="true" />
<uses-sdk android:minSdkVersion="3" android:targetSdkVersion="7"/>
Just to be sure, as unlikely at it is-you're not running Froyo (2.2) on your htc tattoo? Its API level is 8 as I'm sure you're aware.
Check if you have a folder named /lib in your apk, its a weird thing the Market application checks for, and if it exists your application won't display.
Ok the problem with tattoo is that it do not support autofocus and it is necesary add in the manifest: