Android Manifest Xlarge Screen Issue - android

I had developed an application with the following manifest.
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.test.Test"
android:versionCode="1111"
android:versionName="1.0">
<uses-sdk android:minSdkVersion="3" android:targetSdkVersion="7" android:maxSdkVersion="10"/>
<supports-screens
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="false"
android:resizeable="true"
android:anyDensity="true">
</supports-screens>
<application android:icon="#drawable/app_icon"
android:label="#string/KEY_app_name"
android:theme="#android:style/Theme.NoTitleBar">
<activity android:name=".SplashScreenActivity"
android:label="#string/KEY_app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
</application>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.INTERNET"/>
</manifest>
& default.properties set to target=android-8
The concern is that when I deploy the application on android market, by default it displays support to x-large screens as true what should not happen. I tried setting the x-large screen support to false but it is not supported here. Could you please let me know that how can i set support to x-large screen as false without loosing the support for devices set to lower versions like 2.1 etc.
Any help in this regard will be highly appreciated.
Thanks & looking forward to read from you very soon.

Try this:
< supports-screens
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="true"
android:anyDensity="true">
< /supports-screens>
and rest will remain unchanged in Manifest File.

Related

Getting error from play store - “This app is incompatible with all of your devices.”

I've built my app, tested in emulator also. My own device also. But, when I"m uploading that APK file to PlayStore I'm getting error -
"This app is incompatible with all of your devices."
I changed my supports-screens tag from:
<supports-screens android:anyDensity="true" android:largeScreens="true" android:normalScreens="true" android:resizeable="true" android:smallScreens="true" android:xlargeScreens="true" />
to
<supports-screens android:smallScreens="false" />
Still not working.
Here is my AndroidManifest.xml:
<?xml version='1.0' encoding='utf-8'?>
<manifest android:hardwareAccelerated="true" android:versionCode="2" android:versionName="0.0.2" package="com.ionicframework.esp132862" 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" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<application android:hardwareAccelerated="true" android:icon="#drawable/icon" android:label="#string/app_name" android:supportsRtl="true">
<activity android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale" android:label="#string/activity_name" android:launchMode="singleTop" android:name="MainActivity" android:theme="#android:style/Theme.Black.NoTitleBar" android:windowSoftInputMode="adjustResize">
<intent-filter android:label="#string/launcher_name">
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
<uses-sdk android:minSdkVersion="16" android:targetSdkVersion="22" />
</manifest>
This is my first app, I've built it using ionic. I've no idea how to deal with Android. Any guess what could be the problem, why is it saying it's uncompatible with my devices?
Finally, I fixed the issue. The issue was from our side. Actually, I'm using Crosswalk with Ionic. So, I was getting 2 APK for upload to Play Store. And, here the catch is if you've multiple APK then in Google Play Console you need to switch to 'Advance Mode' from 'Standard Mode' which I didn't know about earlier. So, I was continuously trying to upload my 2 APK in standard mode & that's why something was breaking/missing in Google Play store side & I was getting that error.
But, now after uploading those APK by Advance mode that error has fixed.
Anyway, Thanks, all of your effort to help me out. I really Appreciate it.

Ionic App On Android Tablet

I've just publish my app to the Google Play store for beta testing, but I can't install it on my Android tablet. The app will not install on my Samsung Galaxy Tab 10 tablet Model number GT-P5113 Android version 4.2.2, but it installs on my Samsung S5 mobile phone with no problem.
When I try to install the app from the Google Play Store it says that its designed for phones and the message is "Your device isn't compatible with this version'. I've checked the 'DEVICE COMPATIBILITY' section and my tablet version is checked.
I have this in my AndroidManifest.xml file:
<supports-screens android:anyDensity="true" android:largeScreens="true"
android:normalScreens="true" android:resizeable="true"
android:smallScreens="true" android:xlargeScreens="true" />
Can someone tell me how to make my app compatible with Android and iOS tablets? Thanks in advance
UPDATE
Here's the complete AndroidManifest.xml.
<?xml version='1.0' encoding='utf-8'?>
<manifest android:hardwareAccelerated="true" android:versionCode="6" android:versionName="0.0.0.0" package="com.myapp.app" 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" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_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.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />
<application android:hardwareAccelerated="true" android:icon="#drawable/icon" android:label="#string/app_name">
<activity android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale" android:label="#string/activity_name" android:launchMode="singleTop" android:name="RsgApp" android:screenOrientation="portrait" android:theme="#android:style/Theme.Black.NoTitleBar" android:windowSoftInputMode="adjustResize">
<intent-filter android:label="#string/launcher_name">
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<meta-data android:name="com.google.android.gms.version" android:value="#integer/google_play_services_version" />
<activity android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" android:name="com.google.android.gms.ads.AdActivity" android:theme="#android:style/Theme.Translucent" />
</application>
<uses-sdk android:minSdkVersion="14" android:targetSdkVersion="19" />
It is probably your min-sdk attribute. If it is set to 21 (android 5.0), then it will only work on devices with Android v5.0. Your min-sdk needs to be set to API level 17. It could also be an issue with compatibility libraries (if you used widgets only available in later versions of android) and/or themes. This page has more information about the tag, and a little bit about Google Play Filtering.
It's the camera auto focus feature:
uses-feature android:name="android.hardware.camera.autofocus"
I have the same issue with Samsung SM-T110 (Tab 3 Lite);
it does not have camera autofocus so gets excluded from compatible devices.
Still trying to figure out how to remove this from the auto-generated manifest file tho, but hope this sets you in the right direction...

Google Play - Your device isn't compatible with this version - ASUS Transformer TF101

When viewing my app in Google Play on my ASUS Transformer tablet I see the following message
Your device isn't compatible with this version
Here is my manifest file.
<?xml version='1.0' encoding='utf-8'?>
<manifest android:hardwareAccelerated="true"
android:versionCode="3"
android:versionName="1.0.2"
android:windowSoftInputMode="adjustPan"
package="com.sheffieldlentinepc.sentenceestimator"
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" />
<uses-permission android:name="android.permission.INTERNET" />
<!-- Required permission to check licensing. -->
<uses-permission android:name="com.android.vending.CHECK_LICENSE" />
<uses-sdk android:minSdkVersion="10" android:targetSdkVersion="18" />
<application
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="SentenceEstimator"
android:theme="#android:style/Theme.Black.NoTitleBar"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
Is there anything in my manifest that would cause this device to be incompatible?
OK I got it! My situation:
Originally a phone only app
re-designed for tablet optimization
I thought marking this permission to required="false" was all I needed since tablets don't have phones. <uses-permission android:name="android.permission.CALL_PHONE"
**android:required="false"** />
My confusion was the <uses-permission/> and <uses-feature/> after reading this over for the 10th time I finally caught it. http://developer.android.com/distribute/googleplay/quality/tablet.html#hardware-requirements
I needed to explicitly add <uses-feature android:name="android.hardware.telephony" android:required="false" /> to my manifest.
upload to to developer console and you should see the number of "supported devices" jump, 541 devices in my case.
Of course if you have features that require phone use you need to handle it appropriately at run-time for devices that don't have phone.
Adding <uses-feature android:name="android.hardware.telephony" android:required="false" /> to the manifest added support for your AsusTransformer TF101G too!
I hope this helps someone else!

Certain devices can't see my app in Google Play

I've got the problem with my App. Certain of defices can't see my app in Google Play (e.g. Asus Nexus 1, Xperia E, Samsung Galaxy Tab GT5100). This all devices have android 4+, so SDK is compatible with minSDK.
This is my manifest:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.merinosoft.photowallet"
android:versionCode="3"
android:versionName="1.2.0" >
<uses-sdk
android:minSdkVersion="14"
android:targetSdkVersion="14" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<supports-screens
android:anyDensity="true"
android:largeScreens="true"
android:normalScreens="true"
android:resizeable="true"
android:smallScreens="true"
android:xlargeScreens="true" />
<application
android:name="com.merinosoft.photowallet.MyApplication"
android:allowBackup="true"
android:icon="#drawable/icon"
android:label="#string/app_name"
android:largeHeap="true"
android:theme="#style/MyHolo" >
<activity
...
</activity>
<activity
...
</activity>
<activity
...
</activity>
<activity
...
<intent-filter>
...
</intent-filter>
</activity>
<activity
..
</activity>
<activity
...
</activity>
<activity
...
</activity>
</application>
</manifest>
Can you tell me what is wrong with that? I will be gratefull.
Regards
Take a look at
<uses-sdk
android:minSdkVersion="14"
android:targetSdkVersion="14" />
You have a min version of 14. That means Android 4 and above.
If you want to allow more devices to use it, you should target at least Android 2.2 and above. this is api level 8. Also i would raise android:targetSdkVersion to 17 or 18
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="18" />
After this, probably you will find some errors that you will need to fix, in order to be able to actually run in older devices

Specifying Android Market screensize in the Manifest

Ok so I have my android manifest:
<?xml version="1.0" encoding="UTF-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="" android:versionCode="6" android:versionName="1.2.3">
<uses-sdk android:minSdkVersion="7"/>
<application android:label="" android:icon="#drawable/icon" android:debuggable="true">
<activity android:name="com.google.ads.AdActivity" android:screenOrientation="landscape" android:configChanges="keyboard|keyboardHidden|orientation">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
</application>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
<uses-permission android:name="android.permission.READ_INPUT_STATE"/>
<uses-permission android:name="android.permission.SET_ORIENTATION"/>
</manifest>
Where do I put in this:
<supports-screens android:smallScreens="false" android:normalScreens="true" android:largeScreens="true" android:xlargeScreens="true" />
and is this the correct syntax to not show the application to people with fail phones on the market? I just want to show my app to people with a decent dpi screen as i guess it helps determine how fast their processor is, how much ram they might have etc.
Cheers guys!
I think it places on Just before "application" tag
It must be a manifest child.
http://developer.android.com/guide/topics/manifest/supports-screens-element.html
http://developer.android.com/resources/samples/ApiDemos/AndroidManifest.html
see the supportScreens section.

Categories

Resources