Le Play Store nécessitera des applications nouvelles et mises à jour pour cibler les niveaux d'API les plus récents et distribuer le code natif avec prise en charge 64 bits.

Google a annoncé un ensemble de nouvelles exigences majeures pour les nouvelles applications et les applications mises à jour sur le Google Play Store. Préparez vos applications maintenant !

Dans un article de blog publié aujourd'hui, Google a annoncé des changements majeurs à venir concernant les applications soumises au Play Store. Ces modifications sont conçues pour améliorer la sécurité de l'utilisateur final en exigeant que les développeurs ciblent des niveaux d'API plus récents. De plus, Google commencera également à exiger que les applications qui distribuent des bibliothèques natives fournissent également des versions 64 bits de ces bibliothèques. Ces changements ne prendront effet qu'à la mi-2018 et à la mi-2019 respectivement, les développeurs auront donc suffisamment de temps pour travailler sur les mises à jour pour répondre à ces nouvelles exigences. Examinons un peu plus en profondeur ce que ces changements signifient pour les développeurs et les utilisateurs finaux.


Changement n°1: cibler un niveau d'API plus récent

Le niveau d'API le plus récent est 27, ce qui correspond au Version Android 8.1. Avant cela se trouve le niveau API 26 qui correspond à Android 8.0 Oreo. Départ Août 2018, n'importe lequel nouvelles applications qui sont soumis au Play Store doit cibler au moins le niveau d'API 26. De plus, en commençant novembre 2018, mises à jour des applications existantes doit également cibler le niveau d'API 26 ou supérieur.

Ces exigences ne sont cependant pas statiques. En 2019, Google va augmenter l'exigence targetSdkVersion un an après chaque version majeure d'Android. Par exemple, 1 an après la sortie d'Android P, les applications doivent cibler le niveau d'API 28 ou supérieur.

Gardez à l'esprit que ces exigences sont uniquement pour le niveau d'API cible, et pas pour le minimum. Cela signifie que vous pouvez toujours créer des applications qui fonctionneront sur les anciennes versions d'Android, telles qu'Android Lollipop. Ceci est important car des millions d’utilisateurs utilisent encore d’anciennes versions d’Android sur leurs appareils. Quel niveau d'API minimum devez-vous implémenter? Suivre @minSdkVersion sur Twitter pour savoir quand vous devriez modifier cela.

Quant aux applications qui ne recevront aucune mise à jour dans un avenir prévisible, rien ne changera. Ces applications continueront d’exister, même si elles ne pourront bien sûr pas profiter des nouvelles fonctionnalités introduites dans les nouveaux SDK. Si la le développeur d'une telle application souhaite mettre à jour son application pour une raison quelconque, il devra alors mettre à jour son application pour répondre aux exigences de l'API supérieure niveau.

C'est une aubaine pour la sécurité des utilisateurs. Android 6.0 Marshmallow a introduit des autorisations d'exécution, qui protègent certaines autorisations sensibles telles que la localisation ou l'accès aux contacts derrière une boîte de dialogue que l'utilisateur doit accepter. Cependant, les applications pourraient contourner les autorisations d’exécution en ciblant un niveau d’API plus ancien. Si une application cible cet ancien niveau d'API, les autorisations sont accordées lors de l'installation.

De plus, les nouvelles restrictions d'Android Oreo sur l'exécution d'applications en arrière-plan, les récepteurs de diffusion implicites et les limites d'emplacement en arrière-plan ne sont qu'une exigence pour les applications qui ciblent le niveau d'API 26. Étant donné que ce niveau d'API sera une exigence à l'avenir, cela signifie que tout utilisateur exécutant Android Oreo n'aura pas à craindre qu'une application ne soit pas optimisée par les nouvelles restrictions d'Android Oreo.

Une note sur les futures versions d'Android

Il y a une clause intéressante dans cette nouvelle exigence. Pour citer le billet de blog :

Les futures versions d'Android restreindront également les applications qui ne ciblent pas un niveau d'API récent et auront un impact négatif sur les performances ou la sécurité.

Alors que l'exigence précédente n'affecte que les nouvelles applications ou les applications mises à jour soumises au Play Store, cette phrase semble suggèrent qu'une future version d'Android imposera également des restrictions sur les applications qui ne sont pas à jour avec les niveaux récents de l'API. Android 8.0 Oreo introduit autorisations d'exécution uniquement qui exigent qu'une application cible le niveau d'API 23, afin que Google puisse commencer à intégrer de nouvelles fonctionnalités derrière de telles restrictions.

Modification n°2: prise en charge 64 bits du code natif

La majorité des appareils Android phares sont dotés de puces basées sur une architecture 64 bits. Selon Google, plus de 40 % des appareils prennent en charge le 64 bits. Les applications qui distribuent des bibliothèques natives ne peuvent actuellement être basées que sur du code 32 bits, et les appareils 64 bits continueront de fonctionner en raison de la rétrocompatibilité.

Toutefois, étant donné que le code 64 bits peut offrir de meilleures performances, Google exiger que les développeurs dont les applications utilisent des bibliothèques natives disposent d'une alternative 64 bits pour fonctionner sur des appareils 64 bits uniquement. Les applications peuvent inclure à la fois une bibliothèque 32 bits et une bibliothèque 64 bits, ou distribuer plusieurs versions de l'APK avec l'une ou l'autre des bibliothèques à l'aide du plusieurs APK fonctionnalité dans la console du développeur. Cette exigence entrera en vigueur à partir d’août 2019 et n’affectera pas les applications qui n’exécutent aucun code natif.

Ce dernier changement ne nécessite aucune action de la part des développeurs. Au lieu de cela, cela sera géré automatiquement par Google Play. Le Play Store commencera à ajouter un petite quantité de métadonnées pour chaque APK qui vérifiera qu'une application a été officiellement distribuée par le Google Play Store. La taille maximale de l'APK de Google Play sera augmentée pour tenir compte de ces nouvelles métadonnées, mais rien ne devrait être modifié dans les applications des développeurs.


Source: Google