在Android SDK 2.3上编译的Android 2.0上运行应用程序时遇到问题

时间:2010-12-07 21:33:19

标签: android android-sdk-2.3 android-2.0-eclair

SDK 2.3中似乎有一个重大变化,导致在其上编译的应用程序无法在Android 2.0设备上运行。 (虽然Android 2.0正式消失,但我很遗憾地遇到了一堆摩托罗拉里程碑,我从Expansys那里得到了尚未获得OTR更新的那些)。

这似乎是资源问题,与the one mentioned here完全相同,但是在2.0设备而不是1.6或更早的设备上。我可以将所有资源放在/res/drawable/中,但是我想要显示hdpi版本而不是mdpi版本(我认为这是/res/drawable/的默认版本)。

我想我可以使用SDK的旧版本(2.2 SDK能够让我的里程碑满意的apks),但我似乎找不到它的下载链接了。

有关如何在2.0设备上获取hdpi图形的建议吗?

(与此同时,我正在尝试联系摩托罗拉,并通过OTR升级设备。不幸的是,其中许多都部署在现场,无法通过USB更新。

重现步骤

  1. 安装Android SDK 2.3
  2. 在Eclipse中,创建一个新的Android项目。将目标设定为1.6或更高。
  3. 修改默认main.xml以在某处添加:<ImageView android:src="@drawable/icon" android:layout_width="wrap_content" android:layout_height="wrap_content" />
  4. 构建示例,然后使用Android 2.0 VM启动。
  5. 预期结果

    5:app会加载。根据{{​​1}},图标可能显示也可能不显示。

    实际结果

    5:应用程序在启动时崩溃,请参阅the aforementioned question了解近似的堆栈跟踪。

3 个答案:

答案 0 :(得分:2)

您需要使用AVD / SDK管理器下载SDK。在Eclipse中单击Window-&gt; Android SDK和AVD Manager。然后单击可用包,您可以获得所需的任何SDK。

至于打破旧设备,它取决于您使用的API以及它们是否在早期SDK中可用。至于能够使用HPI可绘制文件夹,这不应该导致Android 2.0上的任何问题。您是否尝试右键单击项目并刷新它,然后转到Project-&gt; Clean并查看是否有帮助。

答案 1 :(得分:0)

还要看看如何使用Eclipse升级到2.3:

http://ggomeze.com/2010/12/09/updating-eclipse-to-gingerbread

答案 2 :(得分:0)

这个问题确实应该是Android的错误报告,它只适用于拥有0%市场份额的Android版本,所以我标记为已回答。祝所有遇到此问题的人好运:我建议您手动升级设备;这就是我最终做的事情。