Android 2.2 SDK打破了与旧手机的兼容性

时间:2010-05-27 18:31:07

标签: android android-2.2-froyo

我最近将我的应用更新为SDK版本8的构建市场,以便为我的用户提供App2SD功能。

但是我有关于SDK 3(1.5)上的设备在启动应用程序时出现问题的报告,其中包含以下堆栈跟踪:

...
E/AndroidRuntime(10638): Caused by: android.content.res.Resources$NotFoundException: File      res/drawable/title_bar_shadow.9.png from drawable resource ID #0x7f020000
E/AndroidRuntime(10638): at android.content.res.Resources.loadDrawable(Resources.java:1641)
E/AndroidRuntime(10638): at android.content.res.TypedArray.getDrawable(TypedArray.java:548)
E/AndroidRuntime(10638): at android.view.View.<init>(View.java:1726)
E/AndroidRuntime(10638): at android.view.View.<init>(View.java:1675)
E/AndroidRuntime(10638): at android.view.ViewGroup.<init>(ViewGroup.java:271)
E/AndroidRuntime(10638): at android.widget.LinearLayout.<init>(LinearLayout.java:92)
E/AndroidRuntime(10638): ... 26 more
E/AndroidRuntime(10638): Caused by: java.io.FileNotFoundException: res/drawable/title_bar_shadow.9.png
E/AndroidRuntime(10638): at android.content.res.AssetManager.openNonAssetNative(Native Method)
E/AndroidRuntime(10638): at android.content.res.AssetManager.openNonAsset(AssetManager.java:392)
E/AndroidRuntime(10638): at android.content.res.Resources.loadDrawable(Resources.java:1634)
E/AndroidRuntime(10638): ... 31 more

如果我将构建目标更改回版本4,因为之前此问题消失了,如果我从XML文件中删除任何图形资源,这个问题就会消失!

任何帮助都会非常受欢迎,因为我目前市场上已经有很多用户破解了应用程序。

2 个答案:

答案 0 :(得分:13)

这可能与不同的图像密度有关,以及SDK 1.5如何处理开箱即用的问题。看看herehere

答案 1 :(得分:2)

你应该可以做minSdk = 3 targetSdk = 8并构建它应该工作的2.2库。你不能使用任何不属于1.5 api的sdk api。您还必须手动将应用程序安装到1.5模拟器上进行测试,但它应该可以正常工作。