I've developed an App using level API 10 (2.3.3 SDK version), I've published it on Android Market and all has gone fine. My Application has FINE and COARSE location, INTERNET and NETWORK STATE as uses permission.
Next, I've tried to extend compatibility to level API 8 (2.2). After I've published the new apk on market the App results no more compatible with my device (I've a Samsung GT-I9100, with 2.3.6 Android version).
I've tried to delete cache but nothing, my device is no more compatible.
But if I install the apk via file system the App perfectly works.
EDIT:
Here my Android Manifest
<manifest package="com.agora.md" android:versionCode="16" android:versionName="1.1.15" xmlns:android="http://schemas.android.com/apk/res/android">
<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-sdk android:minSdkVersion="8"/>
<supports-screens android:smallScreens="false" android:largeScreens="true" android:normalScreens="true"/>
<application
android:icon="#drawable/icon_md1"
android:label="#string/app_name" android:name="MDApplication" >
<activity
android:label="#string/app_name"
android:name=".service.activity.MDSplashActivity"
android:screenOrientation="portrait">
<intent-filter >
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:screenOrientation="portrait" android:label="#string/app_name"
android:name=".service.activity.MDMainActivity" android:launchMode="singleTask">
</activity>
<activity android:name=".service.activity.MDNewsActivity" android:launchMode="singleTask"
android:screenOrientation="portrait"></activity>
<activity android:name=".service.activity.MDMagnificiActivity" android:launchMode="singleTask"
android:screenOrientation="portrait"></activity>
<activity android:name=".service.activity.MDNewsDetailsActivity"
android:screenOrientation="portrait"></activity>
<uses-library android:name="com.google.android.maps"/>
<activity android:name=".service.activity.MDMapActivity" android:launchMode="singleTask"
android:screenOrientation="portrait"></activity>
<activity android:name=".service.activity.MDInfoActivity"
android:screenOrientation="portrait"></activity>
<activity android:name=".service.activity.MDVolantinoActivity"
android:screenOrientation="portrait"></activity>
<activity android:name=".service.activity.MDMapDetailsActivity"
android:screenOrientation="portrait"></activity>
</application>
</manifest>
Someone can help me?
Thanks
UPDATE
After a month I've checked on Market and now, incredibly, my app is visible on the store. I don't now it's ok because I've made no changes from that.
I think it was a mistake of the store or, probably, a bad value in cache that now has been erased.
However, thanks to all for your support
The supports-screens tag is used ONLY by the Android market to filter out devices based on the size of screen the device has. If you don't define a supports-screens tag, then the market doesn't filter them.
However, if you DO define supports-screens any device sizes not listed will default to false.
The Samsung Galaxy SII (your device) I believe is an xlarge screen size. Change your supports-screens tag to the following:
<supports-screens android:xlargeScreens="true" android:smallScreens="false" android:largeScreens="true" android:normalScreens="true" />
(note: I added android:xlargeScreens="true")
After that you should see your app in the market again.
Similar issue here. I don't have the supports-screens tag in my AndroidManifest.xml, but I'm getting incompatibility complaints from users with the Samsung Galaxy S 2 (GT-I9100), Android version 2.3.6. It works with other versions of Android.
Anyone else seen this?
Related
I made an android app for ordering a cab. I uploaded it on goole play and everything was fine until i tried to find the app over a tablet. I cannot find the app on google play. I googled the problem and i put the screen size in the manifest but its still not working.
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.INTERNET" />
<application
android:allowBackup="true"
android:icon="#mipmap/ic_launcher"
android:label="#string/app_name"
android:supportsRtl="true">
<activity
android:name=".splash"
android:theme="#android:style/Theme.NoTitleBar.Fullscreen">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".MainActivity"
android:theme="#android:style/Theme.NoTitleBar.Fullscreen" />
<activity
android:name=".order"
android:theme="#android:style/Theme.NoTitleBar.Fullscreen" />
<activity
android:name=".personal"
android:theme="#android:style/Theme.NoTitleBar.Fullscreen" />
<activity
android:name=".flight"
android:theme="#android:style/Theme.NoTitleBar.Fullscreen" />
<activity android:name=".details"
android:theme="#android:style/Theme.NoTitleBar.Fullscreen"></activity>
</application>
<supports-screens
android:anyDensity="true"
android:xlargeScreens="true"
android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true" />
Issue is in "android.permission.CALL_PHONE" permission that might not be available for tablets. You should add additional entry that shows that is not absolutely required feature and then handle that scenario in your code when you are accessing those features.
<uses-feature android:name="android.hardware.telephony" android:required="false"/>
Android documentation for <uses-feature>
You should place screenshots for the Tablet Portion as well as the requirements needed by the Google Play for Tablets.
You should put all requirements for tablet and create .xml file for tablet in app layout folder and Screenshot for tablet. see more from documentation
I would like to publish an App for both, Smartphone's and Tablet's with Phonegap, but my testing-app isn't showing up for Tablets in the Play Store. It's only showing up for Smartphones, altough there are Tablet devices displayed in the device compatibility list with a green Checkmark next to it.
Info:
App is almost empty
No Permissions are set
support-screens has the attributes "largeScreens" and "xlargeScreens" set to true
Manifest File:
<manifest android:hardwareAccelerated="true" android:versionCode="7" android:versionName="1.0.6" android:windowSoftInputMode="adjustPan" package="my.testing.app12345" xmlns:android="http://schemas.android.com/apk/res/android">
<supports-screens android:anyDensity="true" android:largeScreens="true" android:normalScreens="true" android:resizeable="true" android:smallScreens="true" android:xlargeScreens="true" />
<application android:debuggable="false" android:hardwareAccelerated="true" android:icon="#drawable/icon" android:label="#string/app_name">
<activity android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale" android:label="#string/app_name" android:name="ResolutionTester" android:theme="#android:style/Theme.Black.NoTitleBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
<uses-sdk android:minSdkVersion="11" android:targetSdkVersion="19" />
</manifest>
I found out that my app is properly findable in the play store, even for tablets. The message for improving my app by creating a 7" layout for tablet users is still there, but it's installable for tablets trough the play store without problems. Strange...
some of my customers are having trouble opening their apps after downloading them. here is my last 1 star customer review:
'Only playable in play store using open/uninstall buttons. When select on phone app phone says app not installed. uninstalling.'
I'm getting a lot of 1 star ratings because of this and it's killing me. I also get some 5 star ratings so apparently this issue only affects some users. it works fine with my phone, but won't open on a friend's, unless she opens it from the store. I may have upgraded my targetSdkVersion from 16 to 19 recently.
here is my manifest, slightly edited for privacy, I've read of opening issues on another post being caused by bad manifest settings, but none of the suggestions related to my manifest settings:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.mypackage"
android:sharedUserId="com.myshareduserid"
android:versionCode="300"
android:versionName="3" >
<uses-sdk
android:minSdkVersion="10"
android:targetSdkVersion="19" />
<supports-screens android:largeScreens="true"/>
<supports-screens android:xlargeScreens="true"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_USB" />
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<application
android:largeHeap="true"
android:icon="#drawable/ic_launcher"
android:label="#string/app_name"
android:debuggable="false" android:permission="android.permission.WRITE_EXTERNAL_STORAGE">
<activity
android:name=".MyActivity"
android:label="#string/app_name"
android:screenOrientation="landscape"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|
uiMode|screenSize|smallestScreenSize">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name="com.google.ads.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|
uiMode|screenSize|smallestScreenSize"/>
</application>
This is just a bug in your client's launcher app.
You cannot do a thing about that.
It might be a badly made custom launcher, or a bug, but it's out of your hands.
If that user has access to a custom recovery, he could wipe dalvik and cache, it always worked for me in that case.
I have an Android app that has been in the Google Play store for about two years now (https://play.google.com/store/apps/details?id=dkh.idex) with API level 7+ and support for all screen sizes. It uses a few permissions (ACCESS_NETWORK_STATE, INTERNET, READ_EXTERNAL_STORAGE, WRITE_EXTERNAL_STORAGE).
On April 22 2013 I uploaded a version (version code 44) that worked fine on all my users devices. A month later, on May 22 2013 I uploaded a new version with some minor changes (version code 45), but the last few days (starting May 27) a lot of users has complained to me that their devices no longer are compatible with the newest version of my app. These users have been using the app with no such problems for up to two years. Some devices are still able to upgrade to the newest version, but others get the message that their device is not compatible when trying to upgrade (mind you, they already have an older version of the app). I was able to install the application directly through ADB (USB) on a device that said it was not compatible in the Google Play store (a Samsung Galaxy Tab 10.1, old version).
I looked through my changesets of my files, and the only change I have made in the AndroidManifest.xml between the two releases are updating the version code and version number. I have not changed any use permissions, supported screen sizes, supported API levels or even added any activities or changed debug settings.
Here is my AndroidManifest.xml:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="dkh.idex"
android:versionName="3.2.11" android:versionCode="45">
<supports-screens
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:anyDensity="true" />
<uses-sdk android:minSdkVersion="7"/>
<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.ACCESS_NETWORK_STATE"/>
<application android:name="dkh.classes.MyApp" android:label="#string/app_name" android:debuggable="false" android:icon="#drawable/ic_launcher_idex_v3">
<activity android:name=".idex"
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>
<activity android:name=".Form2"
android:label="#string/app_name"
android:screenOrientation="portrait"
android:configChanges="orientation">
</activity>
<activity android:name=".InfoForm"
android:label="#string/app_name"
android:screenOrientation="portrait">
</activity>
<activity android:name=".INSTAForm"
android:label="#string/app_name"
android:launchMode="standard"
android:screenOrientation="portrait">
</activity>
<activity android:name=".HygieneForm"
android:label="#string/app_name"
android:screenOrientation="portrait">
</activity>
<activity android:name=".CommentForm"
android:label="#string/app_name"
android:screenOrientation="portrait">
</activity>
<activity android:name=".AddReqChooseForm"
android:label="#string/app_name"
android:screenOrientation="portrait">
</activity>
<activity android:name=".AddReqForm"
android:label="#string/app_name"
android:screenOrientation="portrait">
</activity>
<activity android:name=".FTPForm" android:label="#string/app_name" android:screenOrientation="portrait"></activity>
<activity android:name=".SyncForm" android:label="#string/app_name" android:screenOrientation="portrait"></activity>
<activity android:name=".DrawTestForm" android:label="#string/app_name" android:configChanges="keyboardHidden|orientation"></activity>
<activity android:name="StatisticsForm" android:screenOrientation="portrait" android:label="#string/app_name"></activity>
<activity android:name="PhotoGallery" android:screenOrientation="portrait" android:label="#string/app_name"></activity>
<activity android:name="PhotoView" android:label="#string/app_name"></activity>
<activity android:name="ParametersForm" android:label="#string/app_name" android:screenOrientation="portrait" android:windowSoftInputMode="adjustPan"></activity>
<activity android:name="PropertiesForm" android:label="#string/app_name" android:screenOrientation="portrait" android:windowSoftInputMode="adjustPan"></activity>
<activity android:screenOrientation="portrait" android:name="InspectionChangeForm" android:label="#string/app_name"></activity>
<activity android:name="AdvancedSyncWindow" android:label="#string/app_name" android:screenOrientation="portrait"></activity>
<service android:process=":image_process" android:name=".ImageUploadService"></service>
<activity android:name=".HelpWindow" android:label="#string/app_name"></activity>
<activity android:name="RecoverView"></activity>
<activity android:name="InspectionCommentForm" ></activity>
</application>
</manifest> `
In the rest of my code I have added some texts to my resource files and made some standard minor changes, but nothing that weren't in the app already in some form.
I am really puzzled by this problem. Does anyone know what could be the cause of this or know if Google has changed anything that could have an effect on this? Please ask if you need more information.
I solved it.
The problem was that Google Play will filter applications based on the device screen size, and because xlargeScreens are not supported in API 7 (version 2.1) the filter will be set to false on these devices. This has not been enforced until end of May. My app had worked on the exact same specification for two years, but I suspect that Google Play has made an update to enforce this constraint.
The solution: If you have an app that is developed for API 7 but you want it to be available on xlargeScreens devices, you have to set in your manifest
<uses-sdk
android:minSdkVersion="7"
android:targetSdkVersion="9" />
If either minSdkVersion or targetSdkVersion is 9 or larger, Google Play will allow xlargeScreen devices to see your app.
I have published my app on android market. I was able to download it to my phone(samsung galaxy sl [i9003]) but, recently I updated my phone through kies to 2.3.6 from 2.3.5 and now market is saying your app is incompatible with my device. What should I do to make it compatible ?
My phone is rooted and have market version 3.3.12 . Do I need to change any properties of app in manifest ?
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="XXX"
android:versionName="1.1.1" android:versionCode="7">
<uses-sdk android:minSdkVersion="7"/>
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>
<supports-screens android:smallScreens="true" android:normalScreens="true" android:anyDensity="true" android:largeScreens="false"></supports-screens>
<application android:icon="#drawable/icon" android:debuggable="false" android:label="#string/app_name">
<activity android:name=".SplashActivity"
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>
<activity android:name="MenuActivity" android:screenOrientation="portrait"></activity>
<activity android:name="com.inmobi.androidsdk.IMBrowserActivity"
android:configChanges="keyboardHidden|orientation|keyboard" />
<activity android:screenOrientation="portrait" android:name=".BrowseMovies"></activity>
<activity android:name="SongDisplayDetails" android:screenOrientation="portrait"></activity>
<activity android:name="com.google.ads.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>
<activity android:name="SearchDataActivity" android:screenOrientation="portrait"></activity>
</application>
There is options in market console: when you publish your app, in section "publish params" there is list of all known devices, and there you can see all incompatible devices, and reason why they are incompatible.
// I'm not sure in names of sections in market case I have Russian version of market console. Section "publish params" goes just before "Contacts"
Find out which devices are incompatible by clicking the "compatible devices see List" in Developer Console when you are able to "Upload APK".
This lists all those it will install on and also those it won't. For me this was teh Key step, find out which ones and whats "wrong" with them.
In my case the use of the phone was optional. It had the uses-permission for phones and recording for example which might not be needed. Some use cases need these, some don't.<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.CALL_PHONE" />
This was what was causing it to exclude all my tablets.
<uses-feature android:name="android.hardware.microphone" android:required="false" />
<uses-feature android:name="android.hardware.telephony" android:required="false" />
This seems to have solved it, there are now no incompatible devices in the Play.Store.
Now I just need people to download and use it!