Currently (using the latest version from Git), the Android version of Cocos2d-x is not using the screen properly. Android runs on a variety of screen sizes, some of them with different DPI settings. Because the AndroidManifest.xml for the Tests demo does not set minSdkVersion to 4 or up (it does not set it at all, but it should), Android will assume the minSdkVersion is 1. Support for different screen densities appear to have been added since version 4, so that probably explains the API version of 4.
Anyway, when the minSdkVersion is missing (or implicitly set to 1), Android will return skewed display settings. For example, Cocos2dxActivity uses Display.getMetrics (see Cocos2dxActivity::onCreate method) to query for the screen size, but with minSdkVersion=1, Android returns the screen size divided by the screen density instead.
This means that Cocos2d-x thinks it’s on a resolution of 320 x 533 instead of 480 x 800 on a HTC Desire or Nexus One. That’s definitly not WVGA for Cocos2d-x on Android and devices with a large screen!
The issue can be seen in action by using a device with a high density screen (like Desire, Nexus One, Galaxy S, etc) and adding the following line to the AndroidManifest.xml from the Tests demo:
You’ll see that everything will be a lot smaller. Which is not good either, but that’s because the scale factor still returns 1.0. It should be 1.5 (see DisplayMetrics.density) instead on a Nexus One or HTC Desire. With the correct scaling factor, everything should look fine again (and a lot more hires if you’re a heavy user of scaling factors in a Cocos2d-x game ).