I created an application that will release to the market. The minimum SDK version for that application is 7 while target SDK is 8. But when I uploaded it, the application is also supporting xLarge screen and cause a crash to my app.
How can I exclude the xLarge screen support while hold up my existing SDK setting?
I created an application that will release to the market. The minimum SDK version
Share
See the supports-screens manifest element doc. Just set your target to 9 or higher and you can use xlarge. Any device that is below api level 9 should not be able to declare itself as xlarge and therefore will still be able to install your app. Thats what the disadvantage a users gets for having an Android tablet running a version of android (< 3.0) which was not designed with tablets in mind! I wouldnt worry too much about tablet users running versions of android < 3.0 (honeycomb) seeing your app in a non-perfect state as they are most definatly used to apps looking less-than-perfect with this device config. I dont know if any tablets pre 3.0 even qualify for market support??!
Also see the x-large attribute setting doc that states the default value for this will change depending on the device version so its best to declare it.
Anything in the manifest that is introduced in a newer platform version that the device thats installing the app is running will just be ignored. This goes for any xml layout attributes too.
I wouldve thought the screen size would be worked out from screen-resolution and density, im not sure if the OEM sets this at build time or if its a runtime computation. It would be good if it was done based upon the device specs but i have a feeling its a hardcoded value (I could be wrong). Either way i dont think its backwards compatible (meaning it will just be ignored) in the manifest as resource specific folders would not be.
Out of interest, why do you not want to set your target higher than api level 8?