I developed an android app. Its manifest is very simple and copied below.
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.siddjain.jainaartis"
android:versionCode="1"
android:versionName="1" >
<uses-sdk android:minSdkVersion="7" />
<uses-configuration android:reqFiveWayNav="true" />
<application
android:icon="#drawable/ic_launcher"
android:label="#string/app_name" >
<activity
android:name=".Main"
android:label="#string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".DisplayForm"
class=".Aarti" >
</activity>
</application>
</manifest>
The Play store reports this app to be incompatible with many devices. Specifically, it reports it to be incompatible with Samsung GT-S5570 which is my phone. I installed the app onto my phone manually, and it works.
The developer console gives this message:
This application is only available to devices with these features, as defined in your application manifest.
Screen layouts: SMALL NORMAL LARGE XLARGE
Required device features
android.hardware.touchscreen
This application is available to over 266 devices.
The device availability dialog lists Samsung GT-S5570 as incompatible.
How can I fix the compatibility issue? What is there in my manifest that is causing the app to be classified as incompatible with Samsung GT-S5570? As mentioned earlier, I have checked the app works on my phone.
The specs of the phone are available here btw. It has a display resolution of 240x320 pixels and has Froyo (android v2.2.1)
Was able to fix this using following manifest (support for small screens has to be declared explicitly). The number of devices to which the app is available increased from 266 to 1272.
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.siddjain.jainaartis"
android:versionCode="3"
android:versionName="1" >
<uses-sdk android:minSdkVersion="7" />
<supports-screens android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"/>
<application
android:icon="#drawable/ic_launcher"
android:label="#string/app_name" >
<activity
android:name=".Main"
android:label="#string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".DisplayForm"
class=".Aarti" >
</activity>
</application>
</manifest>
Might be a carrier restriction. The play store filters apps via known information about your device (screen size, OS, carrier), but not if it can install and/or work or not. It would be a nightmare for development (and non play store apps) if you couldn't install because it checked compatibility.
How long ago did you add the app? If you just added it, it takes several hours for it to propagate and become available.
I see it uses 5 way nav. Does your application use this (I assume so) and does it work in your application?
Related
I am trying to upload an update to google play store but after uploading the apk it says 0 supported device.
Some of the similar questions are caused by 3rd party libraries but i don't use any new library.
I am using v7 appcompat support library. I was using v4 previously and it had no problem with Google Play. I don't know if this is the problem but this is the only change i made in terms of external libraries.
Here is my manifest file :
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.saliherikci.poemnotebook"
android:versionCode="10"
android:versionName="2.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="25" />
<application
android:allowBackup="true"
android:icon="#mipmap/ic_launcher"
android:label="#string/app_name"
android:logo="#drawable/ic_action_logo"
android:theme="#style/AppTheme" >
<activity
android:name="com.saliherikci.poemnotebook.MainActivity"
android:label="#string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="com.saliherikci.poemnotebook.ReadPoemActivity"
android:label="#string/title_activity_read_poem" >
</activity>
<activity
android:name="com.saliherikci.poemnotebook.SelectedAuthorsPoemsActivity"
android:label="#string/title_activity_selected_authors_poems"
android:parentActivityName="com.saliherikci.poemnotebook.MainActivity" >
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.saliherikci.poemnotebook.MainActivity" />
</activity>
<activity
android:name="com.saliherikci.poemnotebook.FavouritesActivity"
android:label="#string/title_activity_favourites"
android:parentActivityName="com.saliherikci.poemnotebook.MainActivity" >
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.saliherikci.poemnotebook.MainActivity" />
</activity>
</application>
</manifest>
I wonder what might be the problem.
I ran into the same thing last night and read the most recent articles on this and I guess there is a recent Google bug causing the supported devices to always show up as 0 until it's actually rolled out to production.
I took a chance and released the update and sure enough all the supported devices were there in production. So if you haven't changed anything in the Manifest from the last release you're probably safe to do so as well. (Also I don't see anything in the posted Manifest that would cause any issues)
I'm developing a game on Android that has been running well over months on all devices I know of. But recently I noticed that S4 users typically uninstall the app right away, and finally someone with an S4 (jflte) wrote a review, stating that the app "does not start".
I cannot reproduce this behaviour in an AVD (related) and won't have an S4 at hand any time soon. Googling the issue, I found that this is not umcommon with S4's and might be related to SD-card installs. I did not find any solution though. My app uses OpenGL with android.opengl.GLSurfaceView.
Question is: What are my options to investigate the problem? I've seen the RTL option, but it seems to be some kind of premium thing. Disabling S4 support in the Play Store does not count as solution. I would love to have LogCat output of the startup attempts on an S4.
Here's my AndroidManifest, as far as relevant:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="app.orbs"
android:versionCode="24"
android:versionName="2.1"
android:installLocation="auto" >
<uses-sdk
android:minSdkVersion="7"
android:targetSdkVersion="18" />
<application
android:allowBackup="true"
android:icon="#drawable/orb_launcher"
android:label="#string/app_name"
android:name="orbs.OrbsApplication">
<activity
android:name="orbs.controller.MainMenuActivity"
android:screenOrientation="portrait"
android:label="#string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="orbs.controller.GameActivity"
android:screenOrientation="portrait"
android:label="#string/app_name" >
</activity>
<activity
android:name="orbs.SettingsActivity"
android:label="#string/app_name"
android:theme="#android:style/Theme.NoTitleBar" >
<intent-filter>
<category android:name="android.intent.category.PREFERENCE" />
</intent-filter>
</activity>
</application>
Thanks in advance!
First thing is to try and get users to send error reports when a crash happens, but lets face it, most people won't do that.
So I would suggest looking into an automatic crash reporting system such as Crittercism.
I recently published my Android app to the market and everything seemed fine.
I tried to download it on a particular phone (Samsung epic 4g (SPH-D700)) and it was not available. It looks like it is being filtered, along with most the other Samsung galaxy s phones.
Should I change something in my manifest so it doesn't become filtered?
Im also trying to search for it on my computer and it doesnt even show up when i do that. Does this mean it didnt actually upload it to the market?
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="send.text.fast"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="5" />
<uses-permission android:name="android.permission.SEND_SMS"> </uses-permission>
<uses-permission android:name="android.permission.READ_CONTACTS"> </uses-permission>
<application
android:icon="#drawable/ic_launcher"
android:label="#string/app_name" >
<supports-screens android:smallScreens="true"
android:normalScreens="true" android:largeScreens="true"
android:anyDensity="true">
</supports-screens>
<activity
android:name=".Main"
android:label="#string/app_name"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
i'm having the same problem too. the Market (now goes by a different name) has this recently new (long awaited, they claim) feature to filter out apps that are not compatible with your device.
did you try setting minSdkVersion to your phone's particular version? try lowering it. one thing i did not know is that you can set minSdkVersion down but still target a higher version.
my app works on my android phone upon side-loading. but since i've published my app, i still can't find it on my phone when using the Market app. when i go to my app's webpage, i get a little message saying this app is not compatible with your device, which is wrong. of course, my phone has been rooted among other things (i.e. non-stock kernel/roms/launchers/etc...).
the joy of fragmentation.
I have a device that is not seeing my app on the market. It is a Galaxy S II from T-Mobile. However, other devices can see it and it is listed as compatible in my Developer Console. The only obvious difference is that the owner loaded the new version of Gingerbread early to the device.
Manifest:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="inc.rufus.repair"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk android:minSdkVersion="8" />
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>
<uses-permission android:name="android.permission.INSTALL_PACKAGES"></uses-permission>
<uses-permission android:name="android.permission.SUBSCRIBED_FEEDS_READ"></uses-permission>
<application android:icon="#drawable/icon" android:label="#string/app_name">
<activity android:name=".RufusRepairToolActivity"
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>
<receiver android:name="RufusRepairToolActivity$SecondaryReciever">
<intent-filter>
<action android:name="inc.rufus.REPAIR_CONTINUED" />
</intent-filter>
</receiver>
</application>
I have looked at other similar problems, but nothing seems related (the app is very small, etc).
The real problem is the device belongs to my boss, so it really doesn't matter how many other devices it runs on.
Device Information:
Type: Galaxy S II (SGH-T989)
Carrier: T-Mobile
Android Version 2.3.6 (GINGERBREAD.UVKL1)
Did you enabled copy protection when publishing it? If so, uncheck it.
search by the package name.
the marketplace search has been very wonky
For one reason or another reducing the minSDK to 1 allowed him to see the application. I do not understand why this would possibly be the case, but that's an issue for another day I guess.
I've published an app today mainly for my forum users to use, just a
very simple app that displays wallpapers derived from the forum.
Problem I'm having is one guy says it doesn't appear in the market,
and I've even sent him the APK to install manually but it fails.
My minimum SDK version is 4, I created it with the 1.6 SDK specified
so not sure why he can't see it or install it. He has a 1.6 Magic
handset.
So just wondering if anyone has any ideas, the app is called bocn
wallpaper, it uses internet and set-wallpaper permissions.. but I
wouldn't have thought the permissions were the problem...
My manifest is as follows:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
android:versionCode="1"
android:versionName="1.0" package="net.dbws.bocnwallpaper">
<application android:icon="#drawable/launcher_icon"
android:label="#string/app_name">
<activity android:name=".Main"
android:label="#string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<meta-data android:value="xxxxx" android:name="ADMOB_PUBLISHER_ID" />
</application>
<uses-sdk android:minSdkVersion="4" />
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.SET_WALLPAPER" />
</manifest>
Please, check the supported screens: http://developer.android.com/guide/topics/manifest/supports-screens-element.html
Android 1.6 has small-screens flag set default to false. May be it causes that the application is not seen on the device of the guy.