SDK 2.3 似乎发生了重大变化,导致在其上编译的应用程序无法在 Android 2.0 设备上运行。(虽然 Android 2.0 正式消失了,但不幸的是,我遇到了一堆我从 Expansys 获得的尚未获得 OTR 更新的摩托罗拉里程碑)。
这似乎是资源问题,就像这里提到的一样,但是在 2.0 设备上而不是 1.6 或更早的设备上。我可以将所有资源放入 中/res/drawable/
,但是我希望显示 hdpi 版本而不是 mdpi 版本(我相信这是默认的/res/drawable/
)。
我想我可以只使用 SDK 的旧副本(2.2 SDK 能够制作我的里程碑很满意的 apk),但我似乎再也找不到它的下载链接了。
关于如何在 2.0 设备上获取 hdpi 图形有什么建议吗?
(与此同时,我正在尝试联系摩托罗拉并通过 OTR 升级设备。不幸的是,其中许多设备部署在现场,无法通过 USB 进行更新)。
重现步骤
- 安装 Android SDK 2.3
- 在 Eclipse 中,创建一个新的 Android 项目。将目标设置为 1.6 或更高。
- 修改默认
main.xml
添加:<ImageView android:src="@drawable/icon" android:layout_width="wrap_content" android:layout_height="wrap_content" />
某处。 - 构建示例,然后使用 Android 2.0 VM 启动。
预期成绩
5:应用程序将加载。图标可能会出现也可能不会出现,具体取决于main.xml
。
实际结果
5:应用程序在启动时崩溃,请参阅上述问题以获取大致的堆栈跟踪。