I do not understand why there are some devices not supported..
this is my manifest..
i think the problem depends from minsdk or targetsdk or screen resolution but i don't know where is the problem.
Generally devices unsupported have small screen resolution.
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="it.ankic.nasone"
android:minSdkVersion="11"
//----------------------------------------
>
<uses-feature
android:glEsVersion="0x00020000"
android:required="true"/>
<supports-screens
android:largeScreens="true"
android:xlargeScreens="true" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES"/>
//-------------------------------------//
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" />
//----------------------------------------//
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="app" android:host="nasone"/>
</intent-filter>
</activity>
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="AIzaSyDaRR2jB_mVyoDe31KFfjXyBiobfGq6sbc"/>
</application>
<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.ACCESS_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_GPS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<permission
android:name="it.ankic.nasone.permission.MAPS_RECEIVE"
android:protectionLevel="signature"/>
<uses-permission android:name="it.ankic.nasone.permission.MAPS_RECEIVE"/>
</manifest>
android:minSdkVersion="11"
android:targetSdkVerion="17"
<supports-screens
android:SmallScreens="true"
android:largeScreens="true"
android:xlargeScreens="true" />
Android Sdk Version tags will check the device os sdk version . and also it will check the permissions for screen supports. four types of screen supports is there. if u release the App in Google play means , then it check the android manifest and device configuaration if it,s ok then only the app will display for thaT Mobile.
Also Users Features tag will affect the App supportabily to Device.
I think the problem is this:
<uses-feature
android:glEsVersion="0x00020000"
android:required="true"/>
because Google Play filter device which support this uses-feature. If the device does not support your glEsversion, Google Play does not propose it on the store.
Try to remove it and give me a feedback.
Related
I am not able to find my app from google play store for HTC explorer and sansung galaxy ace devices, I am supporting small screens as well for the app, still not able to find it on play store
My manifest looks like this:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.demo"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="8" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" >
</uses-permission>
<uses-permission
android:name="android.permission.INTERNET"
android:protectionLevel="normal" >
</uses-permission>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" >
</uses-permission>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" >
</uses-permission>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" >
</uses-permission>
<uses-permission android:name="android.permission.GET_ACCOUNTS" >
</uses-permission>
<uses-permission android:name="android.permission.USE_CREDENTIALS" >
</uses-permission>
<uses-permission android:name="android.permission.MANAGE_ACCOUNTS" >
</uses-permission>
<uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" >
</uses-permission>
<uses-permission android:name="android.permission.CAMERA">
</uses-permission>
<supports-screens android:largeScreens="false" android:smallScreens="true" android:anyDensity="true" android:normalScreens="true" />
<application
android:icon="#drawable/appicon"
android:label="#string/app_name"
android:debuggable="true">
<service
android:exported="true"
android:name=".account.AuthenticationService" >
<intent-filter >
<action android:name="android.accounts.AccountAuthenticator" />
</intent-filter>
<meta-data
android:name="android.accounts.AccountAuthenticator"
android:resource="#xml/authenticator" />
</service>
<activity
android:name="abc.com.Screen"
android:screenOrientation="portrait"
android:theme="#android:style/Theme.NoTitleBar" >
<intent-filter >
<action android:name="android.intent.action.MAIN" >
</action>
<category android:name="android.intent.category.LAUNCHER" >
</category>
</intent-filter>
</activity>
</application>
</manifest>
Please tell me if I am doing something wrong here.
I had the same problem. botteaap fix worked.
Add this to manifest
<uses-feature android:name="android.hardware.camera" android:required="false" />
and all worked fine.
it means that the application prefers to use the feature if present on the device, but that it is designed to function without the specified feature,
You likely need to declare camera autofocus as an optional feature (since you are requiring the camera based on the CAMERA permission). I haven't checked but it could be that those cheaper phones do not support auto focus.
For reference: http://developer.android.com/reference/android/hardware/Camera.html and
http://developer.android.com/guide/topics/manifest/uses-feature-element.html (set android:required to false)
There are several steps(pretty long steps) that can help you to verify which devices exactly can download and run your application:
Change or remove any permission in your manifest.
Build application with your release key.
Upload new .apk file to google play dev. console and activate it.
DO NOT PUBLISH it and switch to product details tab.
Check supported devices list via show devices link in Supported Devices section right under countries list. Here you can find list of all "google-known" android devices that can run your application with current permissions.
This way is pretty long, but this could help you.
This question already has answers here:
Closed 10 years ago.
Possible Duplicate:
Publishing an App on Google Play
I published my first app. I have no idea how to find it. This is the manifest:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:windowSoftInputMode="adjustPan"
package="com.wecarepeople.hopeapp" android:versionName="1.0" android:versionCode="1">
<supports-screens
android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true"
android:xlargeScreens="true"
android:resizeable="true"
android:anyDensity="true"
/>
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.RECORD_VIDEO"/>
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.BROADCAST_STICKY" />
<application android:icon="#drawable/icon" android:label="#string/app_name"
android:debuggable="false">
<activity android:name=".DefaultActivity" android:label="#string/app_name"
android:configChanges="orientation|keyboardHidden">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
<uses-sdk android:minSdkVersion="5" />
I am assuming by the looks of everything that:
https://play.google.com/store/apps/details?id=com.wecarepeople.hopeapp
Should take to me the app... but it's not. Which means maybe I screwed up. Which is possible, I sometimes screw up often... BUT I have like 400 people expecting to see this app live next week at an event we are having.. and that means I can't count on myself to figure it out.
help?
You probably did not screw up. Publishing is not instant, although it gives you the impression it is. I have had apps appear at their url after a couple of hours waiting.
If it has the status "Published" in your Google Play Console, just check back in a couple of hours and it will be there.
How long ago did you publish it? In my experience, it can take a few hours.
Maybe the app isn't published. Check the developer panel and make sure that it has a green check mark and says "Published"
Also, it usually takes a few hours for a published app or changes to show up on the store. If it is published and isn't showing up, then all you have to do is wait.
we already searched a lot of similar topics on StackOverflow and in other forums but haven't managed to solve this issue so far.
We developed an Android application that is missing from the market for some devices. It uses geo-data and the camera extensively. The "Copy Protection" is already off, and we can't figure why it isn't showing on some devices that appear to be completely compatible.
The manifesto is as follows:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.syncmobile.riogastronomia"
android:versionCode="5"
android:versionName="1.2.1" >
<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="8" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.SET_ORIENTATION" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-feature android:name="android.hardware.camera" android:required="true"/>
<uses-feature android:glEsVersion="0x00020000" android:required="true" />
<supports-screens
android:xlargeScreens="false"
/>
<application
android:icon="#drawable/icon"
android:label="#string/app_name" >
<activity
android:name=".Splash" android:label="#string/app_name"
android:theme="#android:style/Theme.NoTitleBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</manifest>
Devices that we're having problem with so far:
Model: Xperia x10 | Model Number: X10i | Android Version: 2.3.3
If you would like to see if it shows up in your device the app name is: "Rio Gastronomia"
Thank you all beforehand for your precious time. =D
Update:
I opened the app direct URL in the browser and I got this message from the market:
Your content filtering level doesn't allow you to download this item.
The app maturity level is set to low.
So... after getting this error from the market I tried switching my filtering configuration. It was set to "Everyone", when I set it to "All Apps" I could finally see the app in the market. But I can't change the settings in my users devices, so what should I do to get people that have "Everyone" set to see our app?
(The app is set to "Low Maturity" cause the option "Everyone" was disabled by Google Play)
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.onsite"
android:versionCode="1"
android:versionName="#string/app_version" >
<uses-sdk android:minSdkVersion="8" />
<supports-screens
android:anyDensity="true"
android:largeScreens="true"
android:normalScreens="true"
android:resizeable="true"
android:smallScreens="true" >
</supports-screens>
<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.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.SEND_SMS" />
<application
android:icon="#drawable/icon"
android:label="#string/app_name"
android:name="MainApplication" >
<uses-library android:name="com.google.android.maps" />
<activity
android:label="#string/app_name"
android:name=".Startup"
android:theme="#style/SVSSplashTheme"
android:windowSoftInputMode="stateHidden" >
<intent-filter >
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
This is my manifest. If I remove <uses-library android:name="com.google.android.maps" /> I can install export APK and install it in the device but my android map Activity crashing. If I add this line I can't install APK. I am not getting the Application installed.
Can anyone tell me what I am doing wrong? Thanks in advance.
Only a guess without seeing the logcat, but probably you are trying to install onto a device which lacks the libraries implementing the maps api.
If this is a physical device you are out of luck - your vendor did not license this proprietary component from Google. (you could check how supported open street map is on Android?)
If it is the emulator, you need to switch to an AVD based on one of the "Google APIs" images.
Please check your consol if it is giving the error like,missing shared library,then launch a new emulator with android Google API 2.2 or whatever OS you are using,then your map application work perfectly.
My application is available in Android market and supported Android version 2.2+. But when i open Android market using Samsung SPH-M820 device. It doesn't show application in there. But when i enter full url and try to download app, It shows error message "app not compatible with your device". While device specifications are here.
What is the issue?
Update: Manifest file is added:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="packageName"
android:installLocation="auto"
android:versionName="Version1"
android:versionCode="10">
<uses-sdk android:minSdkVersion="8" />
<supports-screens android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:anyDensity="true" />
<!-- permissions -->
<permission android:name="packageName.permission.C2D_MESSAGE" android:protectionLevel="signature" />
<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.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="packageName.permission.C2D_MESSAGE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<!-- This app has permission to register and receive message -->
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE"/>
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
<uses-permission android:name="android.permission.VIBRATE"/>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.GET_TASKS"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.KILL_BACKGROUND_PROCESSES"/>
<application android:icon="#drawable/icon" android:label="#string/app_name"
android:theme="#android:style/Theme.NoTitleBar" android:debuggable="false">
<receiver android:name=".PushIncidentReceiver" android:permission="com.google.android.c2dm.permission.SEND">
<!-- Receive the actual message -->
<intent-filter>
<action android:name="com.google.android.c2dm.intent.RECEIVE" />
<category android:name="packageName" />
</intent-filter>
<!-- Receive the registration id -->
<intent-filter>
<action android:name="com.google.android.c2dm.intent.REGISTRATION" />
<category android:name="packageName" />
</intent-filter>
</receiver>
<activity android:name=".SplashActivity" android:label="#string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<uses-library android:name="com.google.android.maps" />
</application>
</manifest>
That link doesn't look like it leads to any device specifications, but rather forum boards. In addition, what we really need is your AndroidManifest.xml file. While this response doesn't answer your question directly since we don't have access to your AndroidManifest.xml, hopefully this will help guide you or others to figure out what's wrong.
You can see what devices your application supports by logging on to your developer account at http://market.android.com/publish. Choose your application, and you will see the following section on the next page underneath "Publishing options":
That shows you requirements you have set up in the AndroidManifest.xml file of your application. In addition, you can even click "Show devices," and you will see a list of supported and unsupported devices for your application, such as the following:
You can see that my application doesn't support two HTC phones. In addition, you can even prevent specific phones that do meet your requirements by choosing to exclude them in the list.
If you want your application to work on a specific phone, you will have to modify your AndroidManifest.xml or application itself to have more lenient requirements so your phone can satisfy them.