id: 113 View:article
07 Jul 2017
13 Sep 2013
News  Software

Android developers can now upload multiple APK files for their apps to the Android market. There will still be one listing, reviews still apply to the single version, and for the most part developers are encouraged to try to create a single APK for their apps as before. However, with such a huge range of target devices it increasingly became clear one distribution size won't always suit all. For example, say there is a game with all the graphics bundled up in the various resource locations and you want to target both ldpi (low dot-per-inch, or small) form-factor handsets like the Sony Ericsson X10 Mini) and tablets like the Motorola XOOM. You have to bundle all those large image files used only on the tablet along with the ones for all the other platforms. So your small screen audience gets a bloated APK filled with multi-megabyte image data they'll never use. The same is true for optimised hardware builds - the code taking advantage of, say NVIDIA Tegra 2 chipsets is shipped but never used unless that hardware is present.

Ultimately this all boils down to a better user experience, since the Market can better choose the correct APK for any given hardware. Prior to this, developers have had to upload different APK's with unique package names (or they won't appear separately in the Market), each with their own descriptions - and then hope the user understood enough to choose the correct one, since all would be available simultaneously. This was becoming a mess, so as Google explain in their announcement: "When users download or purchase your app, Android Market chooses the right APK to deliver based on the characteristics of the device."

Developers can start making use of this feature now and they will see the new controls in their Developers Console. We know Ice Cream Sandwich is coming, and it's aiming to unify the Android platform across handsets and tablets, so it's not too much of a stretch to see the supporting infrastructure gearing up for it well head of time - and that's exactly what this update does.




You can read Google's developer documentation on this here.