Search code examples
androidandroid-sdk-2.3android-2.0-eclair

Problem running applications on Android 2.0 compiled on Android SDK 2.3


There seems to be a breaking change in SDK 2.3 that causes applications compiled on it to fail to work on Android 2.0 devices. (Although Android 2.0 is officially gone, I'm unfortunately stuck with a bunch of Motorola Milestones that I got from Expansys which haven't gotten OTR updates yet).

It seems to be an issue with resources, exactly like the one mentioned here, however on a 2.0 device instead of a 1.6 or earlier device. I can put all the resources in /res/drawable/, however I want the hdpi versions to appear instead of the mdpi versions (which I believe is the default for /res/drawable/).

I figured I could just use an older copy of the SDK (the 2.2 SDK was able to make apks that my Milestones were happy with), but I can't seem to find a download link for it anymore.

Are there any suggestions on how I can get my hdpi graphics on a 2.0 device?

(In parallel, I'm attempting to contact Motorola and get the devices upgraded via OTR. Unfortunately, many of them are deployed in the field and can't be updated via USB).

Steps to reproduce

  1. Install Android SDK 2.3
  2. In Eclipse, create a new Android project. Set target to 1.6 or higher.
  3. Modify the default main.xml to add: <ImageView android:src="@drawable/icon" android:layout_width="wrap_content" android:layout_height="wrap_content" /> somewhere.
  4. Build the example, then launch with an Android 2.0 VM.

expected results

5: app will load. Icon may or may not appear depending on main.xml.

actual results

5: app crashes on start, see the aforementioned question for the approximate stacktrace.


Solution

  • This question really should be a bug report with Android and it only applies to an Android version that has 0% market share, so I'm marking it answered. Good luck to anyone else who has this issue: I recommend upgrading your devices manually; that's what I ended up doing.