2010-05-27 9 views
8

J'ai récemment mis à jour mon application à un tarket de construction de SDK version 8 afin d'inclure la fonctionnalité App2SD pour mes utilisateurs.Android 2.2 SDK casse la compatibilité avec les anciens téléphones

Cependant, j'ai eu des rapports de périphériques SDK 3 (1,5) ayant des problèmes de démarrage de l'application, avec la trace de pile suivante:

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

Si je change comme il était auparavant la cible de Reconstruire à la version 4 ce problème disparaît, même si je supprime des ressources graphiques de mes fichiers XML ce problème disparaît!

Toute aide serait grandement appréciée car j'ai actuellement une application cassée sur le marché pour de nombreux utilisateurs.

+5

Il est probablement intéressant de noter que ce fil: http://groups.google.com/group/android-developers/browse_thread/thread/2f10922ac233c6df/5f67d345da4f0ccc?show_docid=5f67d345da4f0ccc La trace de la pile n'est pas beaucoup d'utilisation en dehors du fait qu'il est en quelque sorte lié à Android ne pas être en mesure de trouver les bonnes ressources? – Tom

+1

Avez-vous essayé ce que le gars a dit dans ce fil? Il semble que ce soit le même problème – HXCaine

Répondre

13

Cela peut être dû à différentes densités d'image et à la façon dont SDK 1.5 ne peut pas gérer ce problème. Jetez un oeil here et here.

+3

Vous aviez raison, en déplaçant tous mes actifs de densité moyenne de drawable-mdpi à tout simplement dessinable l'a fonctionné sur toutes les plates-formes. J'ai également gardé une version de haute qualité en hdpi. – Tom

+1

oui, j'ai eu le même problème, et j'ai déplacé toutes mes ressources dans le dossier mdpi à dossier drawable ... fonctionne bien maintenant :) merci – amithgc

2

Vous devriez être capable de faire minSdk = 3 targetSdk = 8 et construire contre les bibliothèques 2.2 il devrait fonctionner. Vous ne pouvez pas utiliser l'API sdk qui ne fait pas partie de l'API 1.5. Vous devrez également installer manuellement l'application sur l'émulateur 1.5 pour la tester, mais cela devrait fonctionner.