2010-05-27 4 views
8

Ich habe vor kurzem meine App zu einem Build Tarket von SDK Version 8 aktualisiert, um die App2SD-Funktion für meine Benutzer zu integrieren.Android 2.2 SDK bricht Kompatibilität mit älteren Handys

aber ich habe Berichte von Geräten auf SDK 3 (1.5) Probleme hatte die Anwendung starten, mit dem folgenden Stack-Trace:

... 
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 

Wenn ich das Ziel Build ändern zurück auf die Version 4, wie es vorher war Dieses Problem verschwindet, auch wenn ich grafische Ressourcen aus meinen XML-Dateien entferne, verschwindet dieses Problem!

Jede Hilfe wäre sehr geschätzt, da ich derzeit eine kaputte App auf dem Markt für viele Benutzer habe.

+5

Es ist wohl erwähnenswert, dass als diesen Thread: http://groups.google.com/group/android-developers/browse_thread/thread/2f10922ac233c6df/5f67d345da4f0ccc?show_docid=5f67d345da4f0ccc Der Stack-Trace ist nicht Viel nutzen abgesehen von der Tatsache, dass es irgendwie damit zu tun hat, dass Android nicht in der Lage ist, die richtigen Ressourcen zu finden? – Tom

+1

Hast du versucht, was der Typ in diesem Thread gesagt hat? Es scheint das gleiche Problem zu sein – HXCaine

Antwort

13

Dies könnte mit verschiedenen Bilddichten zusammenhängen und wie SDK 1.5 kann das out of the Box nicht umgehen. Werfen Sie einen Blick auf here und here.

+3

Sie waren richtig, alle meine Mitteldichte-Assets von Drawable-MDPI zu nur Drawable bewegen, hat es funktioniert auf allen Plattformen. Ich habe auch eine qualitativ hochwertige Version in hdpi gehalten. – Tom

+1

ja, ich hatte das gleiche Problem, und ich habe alle meine Ressourcen in MDPI-Ordner in einen Ordner gezogen ... funktioniert jetzt gut :) danke – amithgc

2

Sie sollten minSdk = 3 targetSdk = 8 und bauen gegen die 2.2 Bibliotheken sollte es funktionieren. Sie können einfach keine SDK API verwenden, die nicht Teil der 1.5 API ist. Sie müssen die App auch manuell auf dem 1.5 Emulator installieren, um es zu testen, aber es sollte funktionieren.