Vous n'avez pas encore de notification

Page d'accueil

Options d'affichage

Abonné

Actualités

Abonné

Des thèmes sont disponibles :

Thème de baseThème de baseThème sombreThème sombreThème yinyang clairThème yinyang clairThème yinyang sombreThème yinyang sombreThème orange mécanique clairThème orange mécanique clairThème orange mécanique sombreThème orange mécanique sombreThème rose clairThème rose clairThème rose sombreThème rose sombre

Vous n'êtes pas encore INpactien ?

Inscrivez-vous !

Avec les Android Extensions, Google pourrait réduire la fragmentation de son système

Enfin ?
Mobilité 4 min
Avec les Android Extensions, Google pourrait réduire la fragmentation de son système
Crédits : Google

Le Compatibility Definition Document (CDD), qui explique aux constructeurs comment s’assurer que leurs appareils sont compatibles avec Android, vient d’être mis à jour. On y trouve une curieuse mention des « Android Extensions », qui laissent présager l’arrivée de bibliothèques partagées.

Avant de plonger dans les Android Extensions, il est nécessaire de rappeler certains points, liés de près à la fragmentation du système. Celle-ci n’est en effet pas si simple.

Android propose tout un lot de technologies fournies sous la forme d’API (Application Programming Interface), qui permettent aux développeurs de faire appel à ses fonctionnalités. Ces API sont réparties en deux grands lots, les unes dans la base du système, les autres dans les Services Google Play.

Les deux grands lots d'API dans Android

La base d’Android, c’est AOSP (Android Open Source Project), le socle open source du projet. Les API qui s’y trouvent se réfèrent toutes à des fonctions centrales, comme la gestion des fichiers, le démarrage, le noyau Linux, les paramètres, tout ce qui touche à l’interface, le contrôle du volume, l’écran verrouillé et ainsi de suite.

De leur côté, les Services Google Play se concentrent tout ce qui concerne les applications et les technologies de type Auto, Pay, les jeux, la gestion des DRM, la synchronisation, etc.

La différence entre les deux ensembles est importante car elle intervient dans la compréhension de la fragmentation d’Android, un sujet récurrent. Elle est évidente quand on inspecte les parts de marché de chaque version du système, mais elle ne se manifeste pas forcément dans le support des applications.

Pourquoi ? Parce que les Services Google Play sont mis à jour indépendamment du système, et cela passe par une nouvelle version diffusée sur le Play Store. Pour qu’une API d’AOSP évolue, il faut une mise à jour du système.

Le blocage des mises à jour par les constructeurs

La firme est bien placée pour savoir que diffuser les mises à jour d’Android est complexe, ce qui provoque un ralentissement de l’utilisation des API liées à AOSP. L’écrasante majorité des appareils vendus provient de constructeurs tiers, dont Google ne contrôle pas le cycle de mise à jour.

Même s’ils bénéficient d’un support garanti de 18 mois pour les mises à jour, la période est vite écoulée. Sans parler de tous les vieux appareils restent sur d’anciennes moutures, avec les énormes risques de sécurité que cela suppose.

Pour Google, la situation est problématique. Non seulement les critiques sur la sécurité sont nombreuses et régulières, mais les développeurs ne peuvent jamais profiter complètement des nouveautés puisqu’une immense majorité des appareils ne fonctionne pas sur les dernières révisions d’Android.

Une situation très différente par exemple de ce que connait Apple, puisque la même version d’iOS est diffusée simultanément à l’ensemble des appareils compatibles. Mais alors, comment sortir de cette impasse ?

Vers des API système déportées ?

Dans la nouvelle version du CDD (pour Android 7.0 Nougat), Google parle des Android Extensions. Il est question d’éléments que les constructeurs auraient l’obligation de charger, quelle que soit l’ampleur des modifications qu’ils apporteront au système.

En théorie, notamment selon nos confrères d’Ars Technica, cela permettrait notamment de déporter vers les Extensions tout un ensemble de briques du système, qui pourraient alors être mise à jour sur le même modèle que les Services Google Play.

En somme, diminuer le nombre d’éléments dont les constructeurs doivent s’occuper. Le texte indique clairement que ces Extensions seraient obligatoires, signifiant probablement au passage qu’elles ne peuvent pas être modifiées. Ars Technica précise qu’actuellement, ces Extensions ne contiennent que deux fichiers, pratiquement vides : GoogleExtShared.apk et GoogleExtServices.apk.

Pourquoi alors les rendre obligatoires ? Nos confrères suggèrent qu’ils seraient alors installés et donc pris en charge par le Play Store… qui pourrait les mettre à jour automatiquement.

GoogleExtServices serait ainsi l’équivalent des Services Google Play d’AOSP : un ensemble grandissant de briques que les constructeurs ne peuvent pas bloquer. Les mises à jour seraient plus régulières, permettant aux développeurs de profiter beaucoup plus rapidement des nouvelles API. GoogleExtShared est présenté comme une bibliothèque partagée, ce qui reviendrait à déporter du système de base des morceaux de code auxquels les applications doivent souvent faire face.

Il faudra sans doute attendre encore avant d’en savoir davantage, et de confirmer une telle possibilité, car Google n’a donné pour l’instant aucune explication complémentaire sur le sujet.

D’autres points importants dans le CDD

Même si les Extensions ont largement attiré l’attention des médias, d’autres éléments importants figurent dans la nouvelle version du CDD. Par exemple, il est désormais « fortement recommandé » aux constructeurs de ne pas s’appuyer sur des technologies propriétaires pour les recharges rapides sur les appareils mobiles.

Autre point significatif, l’obligation pour les constructeurs qui souhaitent utiliser Nougat de proposer un mode multifenêtre si la taille de l’écran le permet. Pour tous les autres, le mode peut être refusé lors de la phase d’implémentation.

Enfin, tous les appareils doivent être munis de capacité de blocage des appels. Même si ce type de fonction se retrouve presque partout, Google préfère manifestement s’assurer de sa présence.

44 commentaires
Avatar de Arcy Abonné
Avatar de ArcyArcy- 11/11/16 à 10:08:11

Signaler ce commentaire aux modérateurs :

C'est très bon comme choix, et je suppose qu'étant donné que même les API Google sont déportés dans un .apk, ça permettra de s'en débarrasser encore plus facilement.

Avatar de ErGo_404 Abonné
Avatar de ErGo_404ErGo_404- 11/11/16 à 10:10:29

Signaler ce commentaire aux modérateurs :

Très bon principe. Ca complète le nombre croissants d'applis du système qui se retrouvent sur le Play Store.

Cela étant dit avec les bibliothèques AppCompat, il y a quand même de moins en moins de difficultés à faire une appli pour toutes les versions qui conserve un aspect et des fonctionnalités similaires.

Avatar de ErGo_404 Abonné
Avatar de ErGo_404ErGo_404- 11/11/16 à 10:11:28

Signaler ce commentaire aux modérateurs :

C'est une très bon choix pour l'adoption de versions récentes des APIs. Si pour toi ça signifie la possibilité de s'en débarrasser, tu vas te retrouver avec un système bien peu fonctionnel.

Avatar de brazomyna INpactien
Avatar de brazomynabrazomyna- 11/11/16 à 10:20:30

Signaler ce commentaire aux modérateurs :

ErGo_404 a écrit :

Si pour toi ça signifie la possibilité de s'en débarrasser, tu vas te retrouver avec un système bien peu fonctionnel.

C'est un choix, et avoir plus de choix n'est pas préjudiciable en soi, bien au contraire. Ca permet à chacun de trouver chaussure à son pied.

Cyanogen propose une version android sans applis Google (qu'on peut ensuite installer si on a envie ... ou pas), et le système est parfaitement fonctionnel.

Avatar de ErGo_404 Abonné
Avatar de ErGo_404ErGo_404- 11/11/16 à 10:23:28

Signaler ce commentaire aux modérateurs :

Mais les android extensions sont des APIs du système Android, pas des machins proprios de Google.
Autrement dit, autant on peut imaginer un système qui n'utilise pas les Google services (c'est tout à fait de développer une appli sans), autant on ne peut pas se passer du framework de base d'Android.

EDIT : si tu veux comprendre ce que je dis, supprime un des fichiers .apk dans /system/framework/

Édité par ErGo_404 le 11/11/2016 à 10:24
Avatar de Zulgrib Abonné
Avatar de ZulgribZulgrib- 11/11/16 à 11:25:10

Signaler ce commentaire aux modérateurs :

Ca veut aussi dire adieu aux optimisations de perfs pour un apparel précis sur tout ce qui se retrouverait dans ce machin à moins de rompre l'accès à la mise à jours auto pour les composants en question ?
Autant pousser un dpkg/yum pour gérer les bins critiques à ce niveau non ? ça ne m'amuse pas spécialement d'avoir des paquets qui prennent deux fois du stockage.

Avatar de linconnu INpactien
Avatar de linconnulinconnu- 11/11/16 à 11:39:09

Signaler ce commentaire aux modérateurs :

C'est pas encore la solution. La solution tout le monde la connait depuis le départ il suffit de l'appliquer : plutôt que de fournir un firmware par téléphone fournir à la place un programme d'installation d'OS comme Windows ou Linux sur PC qui s'installe sur n'importe quel téléphone ou tablette.

Avatar de maxoux Abonné
Avatar de maxouxmaxoux- 11/11/16 à 11:40:41

Signaler ce commentaire aux modérateurs :

De ce que j'ai compris il demandent juste d'obliger le fonctionnement des api incluent dans cet androidExtension.
S'il veux faire à coté son truc proprio et optimisé pour ces applications, pas de problèmes.
En revanche il faut aussi qu'il supporte cela pour, par exemple, les applications qui se veulent génériques. et dont l'api sera mis a jour en fonction de google (et non des constructeurs).

Si j'ai bien compris c'est une très bonne chose, les constructeurs font toujours ce qu'il veulent, mais ne pourrons plus bloquer les mise à jours de sécurité parce que le téléphone à plus d'un mois et que c'est plus rentable de les faire racheter le prochain.

J'ai bon ? j'ai bon ? 

Avatar de flagos_ INpactien
Avatar de flagos_flagos_- 11/11/16 à 11:52:22

Signaler ce commentaire aux modérateurs :

J'ai du mal a voir comment on pourrait utiliser Android sans Play Store si les libs systeme deviennent des apk a charger obligatoirement sur le Play Store...

Avatar de Elioty Abonné
Avatar de EliotyElioty- 11/11/16 à 12:37:43

Signaler ce commentaire aux modérateurs :

Cette nouvelle est bien pour les développeurs car ça réduira
effectivement la fragmentation de l'API level sur tous les nouveaux
devices Android.
Cependant, je ne suis pas convaincu du tout que ça
réglera les problèmes de sécurité étant donné qu'il n'y a rien de
nouveau pour forcer les constructeurs à mettre à jour le noyau qu'il y a
dessous toutes ces bibliothèques !!!

Il n'est plus possible de commenter cette actualité.
Page 1 / 5