I’m wondering, if I have an APK that supports for example Android 2.3.7 and below and another that supports 3.0 and above what will happen if a user with a device with 2.3.7 updates it’s OS to 4.0 ?
For example, a Samsung Galaxy S II update from 2.3.X to 4.0 ?
Will the app be auto-magically replaced? Will it crash?
I think it depends on your version numbering scheme. If the app version that supports 3.0+ has a higher version number than the one that doesn’t, the market will likely show an upgrade available. It should update like any other app (but it may not be immediate): if the user has auto-updating on for the app, it will update itself after a while, but if not, it will appear to the user as having an update available and will wait on them to download it. Unless the permissions are different between the versions.
Whether it crashes or not will be determined by the app itself: what happens if you yourself install the 2.3.7 APK on a 4.0 device (which may or may not require a quick change to the manifest file)?