2010-07-25 10 views
5

Mon application nécessite que les appareils exécutent au moins Android 2.0 OS. Serait-il plus logique pour moi de compiler mon projet avec le SDK 2.0 ou est-il plus logique de toujours compiler mon projet en utilisant le dernier SDK, même si c'est bien au-delà de la version 2.0 ...?Dois-je compiler mes applications Android avec le dernier SDK?

Le problème avec la compilation de 2.1 par exemple serait que je ne sais pas si un appareil Android 2.0 pourrait même exécuter une application compilée avec 2.1 ...?

+0

Je pense que le périphérique sur lequel il peut s'exécuter est basé sur ce que vous déclarez dans le manifeste, au niveau du SDK, non? – Sephy

+0

Je pense que c'est là que la confusion a commencé - Mon minSDKVersion est fixé à 5 (Android 2.0) mais je compile avec SDK version 7 (2.1) et cela provoque des avertissements à la compilation soulignant la différence. J'essaie de comprendre quelles mesures prendre, le cas échéant. –

Répondre

3

Vous pouvez target a later SDK version en utilisant android:targetSdkVersion tout en autorisant l'exécution de votre application sur des versions antérieures (puisque les applications sont filtrées en fonction du android:minSdkVersion). Si vous utilisez des API qui ne sont pas compatibles, votre application va forcer la fermeture. Donc, vous devrez faire attention à la API level annotations dans la documentation pour toutes les fonctions, et tester votre application sur un ensemble d'émulateur pour utiliser la version minimale du SDK.

Toutefois, le blog du développeur Android a some good advice sur la façon d'écrire des applications qui prennent en charge les versions antérieures du SDK - au prix d'un travail supplémentaire, bien sûr. Que cela vaille la peine dépend de qui vous voulez atteindre, évidemment.

+0

Cool. Je définirai ma targetSdVersion égale au SDK avec lequel je compile. Et je garderai minSdk à 5. Quant à l'avertissement du compilateur, je l'ignorerai. Merci. –

+0

Ajoutez simplement quelques tests (de préférence des tests unitaires automatisés) avec un émulateur plus ancien, et ça devrait aller! –

Questions connexes