在Android API Level 3中解析可绘制资源时出错

时间:2011-03-01 23:19:09

标签: android

我正在开发一个使用标签的应用程序,应该与Android 1.5(API Level 3)兼容。

请参阅Tab icons compatibility between API level 3 and >=5。基本上我有谷歌推荐的两套标签图标。

  • 目标> = 5的标签图标位于drawable-(h / m / l)dpi-v5中。
  • 目标的标签图标< 5和所有其他可绘制资源位于drawable-(h / m / l)dpi。
  • 我的AndroidManifest.xml有android:minSdkVersion="3"android:targetSdkVersion="5"
  • 我正在使用Level 7 SDK进行编译
  • 我的所有代码都是3级兼容

在设备/模拟器中运行> = Level 5一切正常时,使用-v5资源可以显示标签图标。在设备级别4中,一切正常,标签图标也可以。

但是,在使用设备级别3时,应用程序在尝试解析可绘制资源时崩溃。堆栈说的是这样的:

Caused by: java.io.FileNotFoundException: res/drawable/splash_background.xml
       at android.content.res.AssetManager.openXmlAssetNative(Native Method)
       at android.content.res.AssetManager.openXmlBlockAsset(AssetManager.java:471)
       at android.content.res.Resources.loadXmlResourceParser(Resources.java:1825)

请注意res/drawable/splash_background.xml存在。这是一个例子,它在尝试获取任何可绘制资源时抛出相同的错误。

有关此的任何线索吗?

1 个答案:

答案 0 :(得分:4)

在API 4中添加了-ldpi,-hdpi和-mdpi限定符,因此它们不起作用。

请参阅Providing screen resource compatibility for Android 1.5