47 votes

Choisir le bon niveau d'API pour mon application Android

J'ai actuellement une application ciblée sur Android 2.3 (niveau api 10), mais j'ai pensé que probablement les personnes utilisant Android 2.1/2.2 ou plus ancien ne pourront même pas voir l'application sur le marché.

J'ai donc pensé qu'il serait préférable d'utiliser le niveau 3 de l'API, mais je ne sais pas si cela fera en sorte que certains éléments de mon application fonctionneront moins bien et seront probablement plus buggés, puisqu'elle utilise un ancien code Android. Existe-t-il un bon moyen de savoir quel niveau d'API je dois utiliser, et aussi, comment convertir mon application à ce niveau ?

44voto

thegrinner Points 4638

Vous pouvez trouver une ventilation des différentes versions d'Android utilisées aquí . Actuellement, si vous ciblez la version 2.1 (API 7), vous ne manquerez qu'environ 3 % du marché. Si vous ciblez la version 2.2, vous manquerez un peu moins de 20 %, soit un cinquième du marché.

Pour ce qui est de la conversion de votre application, vous pouvez vérifier le niveau d'API pour lequel les choses sont disponibles dans le site Web de l'UE. Référence Android . Vous remarquerez une case à cocher et un menu déroulant en haut à droite de la zone de navigation qui vous permettent de filtrer par niveau d'API - c'est une façon d'aider à la conversion. L'autre moyen est de définir la cible et les versions minimales du SDK, ce qui aidera Eclipse à savoir ce dont il faut se plaindre dans votre code. La façon la plus simple de voir si quelque chose a besoin d'être converti, cependant, est d'émuler et de tester.

EDITAR : La liste déroulante des niveaux d'API a été déplacée du haut de la page de droite au haut de la page de gauche, au-dessus de la liste des API.

0 votes

À partir du 2 novembre 2020, les mises à jour des applications et des jeux sur Google Play devront viser Android 10 (niveau 29 de l'API) ou une version plus récente. Après cette date, la Play Console vous empêchera de soumettre de nouveaux paquets d'applications et APK avec une targetSdkVersion inférieure à 29. Veuillez noter que les applications Wear OS ne sont pas soumises à l'exigence du niveau 29 de l'API. Cela n'aura pas d'impact sur votre liste existante sur le Play Store.

15voto

Earl Points 671

Ce graphique peut vous aider à vous décider.

2 votes

Je recommande de prendre en charge les versions 2.1 et supérieures dès maintenant. ( android:minSdkVersion="7" )

0 votes

Pourquoi ce graphique ne montre pas Honeycomb ? Il n'y a rien entre 2.3.7 et 4.0.3.

8voto

user651068 Points 126

Il est bon d'examiner la compatibilité ascendante et, en général, vous devez compiler votre application avec la version la plus basse possible de la plate-forme que votre application peut prendre en charge.

Vous pouvez déterminer la version de plate-forme la plus basse possible en compilant l'application contre des objectifs de construction successivement plus bas . Après avoir déterminé la version la plus basse, vous devez créer un AVD utilisant la version de plate-forme correspondante (et le niveau d'API) et tester entièrement votre application. Veillez à déclarer un attribut Android:minSdkVersion dans le manifeste de l'application et à définir sa valeur sur le niveau d'API de la version de la plate-forme. Bonne chance !

2voto

dten Points 947

Si vous avez

<uses-sdk android:minSdkVersion="4" android:targetSdkVersion="10"/>

alors il apparaîtra jusqu'à la 1.6, mais assurez-vous que vous n'utilisez pas d'antyhing qu'ils n'ont pas dans leur API

edit : Ne vous embêtez pas avec 3 ! :)

2voto

Jack Points 5682

J'ai commencé à développer pour la version 1.5, mais je me suis vite rendu compte que seul un petit pourcentage de personnes utilisent encore la version 1.5. Je développe généralement au niveau de la 2.1 et je m'en tiens là (sauf si vous avez besoin de fonctionnalités à un niveau supérieur). Pour le changer, ouvrez les propriétés de votre projet, et bien que je n'aie pas mon environnement ouvert, il y a une option Android où vous pouvez sélectionner le niveau d'API que vous voulez cibler.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X