Questions fréquentes

Cette page fournit des réponses à certaines questions fréquemment posées (FAQ).

Open source

Qu'est-ce que le projet Open Source Android ?

Android Open Source Project (AOSP) fait référence aux personnes, aux processus et au code source qui composent Android.

Les gens supervisent le projet et développent le code source. Les processus sont les outils et les procédures que nous utilisons pour gérer le développement du logiciel. Le résultat net est le code source, que vous pouvez utiliser dans les téléphones mobiles et autres appareils.

Pourquoi avons-nous ouvert le code source d'Android ?

Google a lancé le projet Android en réponse à nos propres expériences de lancement d'applications mobiles. Nous voulions nous assurer qu'il y aurait toujours une plate-forme ouverte disponible pour les opérateurs, les équipementiers et les développeurs à utiliser pour concrétiser leurs idées innovantes. Nous voulions également éviter tout point de défaillance central, afin qu'aucun acteur de l'industrie ne puisse restreindre ou contrôler les innovations d'un autre. Notre objectif le plus important avec AOSP est de nous assurer que le logiciel Android open source est mis en œuvre aussi largement et de manière compatible que possible, pour le bénéfice de tous.

Quel type de projet open source est Android ?

Google supervise le développement de la plate-forme open source principale d'Android et s'efforce de créer des communautés de développeurs et d'utilisateurs solides. Pour la plupart, le code source Android est sous licence Apache License 2.0, plutôt qu'une licence copyleft . Nous avons choisi la licence Apache 2.0 car nous pensons qu'elle encourage l'adoption généralisée des logiciels Android. Pour plus de détails, voir Licences .

Pourquoi Google s'occupe d'Android ?

Lancer une plateforme logicielle est complexe. L'ouverture est essentielle au succès à long terme d'une plate-forme, car elle attire les investissements des développeurs et garantit des conditions de concurrence équitables. La plate-forme doit également être un produit attrayant pour les utilisateurs.

Google a engagé les ressources d'ingénierie professionnelles nécessaires pour s'assurer qu'Android est une plate-forme logicielle pleinement compétitive. Google traite le projet Android comme une opération de développement de produits à grande échelle et conclut les accords commerciaux nécessaires pour s'assurer que d'excellents appareils fonctionnant sous Android arrivent sur le marché.

En veillant à ce qu'Android soit un succès auprès des utilisateurs, nous contribuons à assurer la vitalité d'Android en tant que plate-forme et en tant que projet open source. Après tout, qui veut le code source d'un produit raté ?

L'objectif de Google est d'assurer un écosystème performant autour d'Android. Nous avons ouvert le code source d'Android afin que chacun puisse modifier et distribuer le logiciel pour répondre à ses propres besoins.

Quelle est la stratégie globale de Google pour le développement de produits Android ?

Nous lançons d'excellents appareils sur un marché concurrentiel. Nous intégrons ensuite les innovations et les améliorations que nous avons apportées à la plate-forme principale en tant que prochaine version.

En pratique, cela signifie que l'équipe d'ingénierie Android se concentre sur un petit nombre d'appareils "phares" et développe la prochaine version du logiciel Android pour prendre en charge ces lancements de produits. Ces appareils phares absorbent une grande partie des risques du produit et ouvrent la voie à la vaste communauté OEM, qui suit avec plus d'appareils qui tirent parti des nouvelles fonctionnalités. De cette façon, nous nous assurons que la plate-forme Android évolue en fonction des besoins des appareils du monde réel.

Comment le logiciel Android est-il développé ?

Chaque version de plate-forme d'Android (telle que 1.5 ou 8.1) a une branche correspondante dans l'arborescence open source. La branche la plus récente est considérée comme la version stable actuelle de la branche. Il s'agit de la branche que les fabricants portent sur leurs appareils. Cette branche est maintenue apte à être libérée à tout moment.

Simultanément, il existe une branche expérimentale actuelle , où les contributions spéculatives, telles que les grandes fonctionnalités de nouvelle génération, sont développées. Des corrections de bogues et d'autres contributions peuvent être incluses dans la branche stable actuelle à partir de la branche expérimentale, le cas échéant.

Enfin, Google travaille sur la prochaine version de la plate-forme Android en parallèle avec le développement d'un appareil phare. Cette branche récupère les modifications des branches expérimentales et stables, le cas échéant.

Pour plus de détails sur les lignes de code, les branches et les versions, consultez Gestion du code AOSP .

Pourquoi certaines parties d'Android sont-elles développées en privé ?

Il faut généralement plus d'un an pour mettre un appareil sur le marché. Et, bien sûr, les fabricants d'appareils veulent expédier les derniers logiciels qu'ils peuvent. Pendant ce temps, les développeurs ne veulent pas suivre en permanence les nouvelles versions de la plate-forme lors de l'écriture d'applications. Les deux groupes vivent une tension entre expédier des produits et ne pas vouloir se laisser distancer.

Pour résoudre ce problème, certaines parties de la prochaine version d'Android, y compris les API de la plate-forme de base, sont développées dans une branche privée. Ces API constituent la prochaine version d'Android. Notre objectif est de concentrer l'attention sur la version stable actuelle du code source Android pendant que nous créons la prochaine version de la plate-forme. Cela permet aux développeurs et aux OEM d'utiliser une seule version sans suivre les travaux futurs inachevés juste pour suivre le rythme. D'autres parties du système Android qui ne sont pas liées à la compatibilité des applications sont développées à l'air libre. Nous avons l'intention de déplacer davantage de ces parties pour ouvrir le développement au fil du temps.

Quand les versions de code source sont-elles faites ?

Quand ils sont prêts. La publication du code source est un processus assez complexe. Certaines parties d'Android sont développées à l'air libre et ce code source est toujours disponible. D'autres parties sont d'abord développées dans un arbre privé, et ce code source est publié lorsque la prochaine version de la plate-forme est prête.

Dans certaines versions, les API de la plate-forme principale sont prêtes suffisamment à l'avance pour que nous puissions publier le code source pour un aperçu avant la sortie de l'appareil. Dans d'autres versions, ce n'est pas possible. Dans tous les cas, nous publions la source de la plate-forme lorsque nous estimons que la version est stable, et lorsque le processus de développement le permet.

Qu'implique la publication du code source d'une nouvelle version d'Android ?

La publication du code source d'une nouvelle version de la plate-forme Android est un processus important. Tout d'abord, le logiciel est intégré à une image système pour un appareil et soumis à diverses formes de certification, y compris la certification réglementaire gouvernementale pour les régions où les téléphones seront déployés. Le code passe également par des tests d'opérateur. Il s'agit d'une phase importante du processus, car elle permet de détecter les bogues logiciels.

Lorsque la version est approuvée par les régulateurs et les opérateurs, le fabricant commence à produire en série des appareils et nous commençons à publier le code source.

Parallèlement à la production de masse, l'équipe Google lance plusieurs efforts pour préparer la version open source. Ces efforts incluent les modifications finales de l'API, la mise à jour de la documentation (pour refléter les modifications apportées lors des tests de qualification, par exemple), la préparation d'un SDK pour la nouvelle version et le lancement des informations de compatibilité de la plate-forme.

Notre équipe juridique procède à une approbation finale pour publier le code en open source. Tout comme les contributeurs open source sont tenus de signer un contrat de licence de contributeur attestant de la propriété intellectuelle de leur contribution, Google doit vérifier que la source est autorisée à apporter des contributions.

À partir du moment où la production de masse commence, le processus de publication du logiciel prend généralement environ un mois, de sorte que les versions du code source se produisent souvent à peu près au même moment où les appareils atteignent les utilisateurs.

Quel est le lien entre AOSP et le programme de compatibilité Android ?

Le projet Android Open Source maintient le logiciel Android et développe de nouvelles versions. Parce qu'il est open source, ce logiciel peut être utilisé à n'importe quelle fin, y compris le développement d'appareils qui ne sont pas compatibles avec d'autres appareils basés sur la même source.

La fonction du programme de compatibilité Android est de définir une implémentation de base d'Android compatible avec les applications tierces écrites par les développeurs. Les appareils compatibles avec Android sont éligibles pour participer à l'écosystème Android, y compris Google Play ; les appareils qui ne répondent pas aux exigences de compatibilité existent en dehors de cet écosystème.

En d'autres termes, le programme de compatibilité Android est la façon dont nous séparons les appareils compatibles Android des appareils qui exécutent simplement des dérivés du code source. Nous accueillons toutes les utilisations du code source Android, mais pour participer à l'écosystème Android, un appareil doit être identifié comme compatible Android par le programme.

Comment puis-je contribuer à Android ?

Vous pouvez signaler des bogues, écrire des applications pour Android ou contribuer au code source du projet Open Source Android.

Il y a des limites aux types de contributions de code que nous acceptons. Par exemple, quelqu'un pourrait vouloir contribuer une API d'application alternative, comme un environnement entièrement basé sur C++. Nous refuserions cette contribution, car Android encourage les applications à s'exécuter dans l'environnement d'exécution ART. De même, nous n'accepterons pas les contributions telles que les bibliothèques GPL ou LGPL qui sont incompatibles avec nos objectifs de licence.

Nous encourageons les personnes intéressées à contribuer au code source à nous contacter via les canaux répertoriés sur la page de la communauté Android avant de commencer tout travail. Pour plus de détails, voir Contribuer .

Comment devenir un committer Android ?

Le projet Open Source Android n'a pas vraiment de notion de committer . Toutes les contributions (y compris celles rédigées par des employés de Google) passent par un système Web connu sous le nom de Gerrit qui fait partie du processus d'ingénierie Android. Ce système fonctionne en tandem avec le système de gestion de code source git pour gérer proprement les contributions au code source.

Une fois soumises, les modifications doivent être acceptées par un approbateur désigné. Les approbateurs sont généralement des employés de Google, mais les mêmes approbateurs sont responsables de toutes les soumissions, quelle que soit leur origine.

Pour plus de détails, voir Soumettre des patchs .

Retour au sommet

Compatibilité

Qu'est-ce que la "compatibilité" Android ?

Nous définissons un appareil compatible Android comme un appareil capable d'exécuter n'importe quelle application écrite par des développeurs tiers à l'aide des SDK et NDK Android. Nous l'utilisons comme filtre pour séparer les appareils qui peuvent participer à l'écosystème d'applications Android et ceux qui ne le peuvent pas. Pour les appareils correctement compatibles, les fabricants d'appareils peuvent demander l'autorisation d'utiliser la marque Android. Les appareils qui ne sont pas compatibles sont dérivés du code source Android et ne sont pas autorisés à utiliser la marque Android.

En d'autres termes, la compatibilité est une condition préalable à la participation à l'écosystème des applications Android. Tout le monde est invité à utiliser le code source Android. Mais si l'appareil n'est pas compatible, il n'est pas considéré comme faisant partie de l'écosystème Android.

Quel est le rôle de Google Play dans la compatibilité ?

Les fabricants d'appareils dotés d'appareils compatibles avec Android peuvent chercher à obtenir une licence pour le logiciel client Google Play. Les appareils sous licence font partie de l'écosystème d'applications Android, permettant à leurs utilisateurs de télécharger les applications des développeurs à partir d'un catalogue partagé par tous les appareils compatibles. La licence n'est pas disponible pour les appareils incompatibles.

Quels types d'appareils peuvent être compatibles avec Android ?

Les logiciels Android peuvent être portés sur de nombreux appareils différents, y compris certains sur lesquels les applications tierces ne fonctionneront pas correctement. Le document de définition de compatibilité Android (CDD) énonce les configurations d'appareils spécifiques qui sont considérées comme compatibles.

Par exemple, bien que le code source Android puisse être porté pour fonctionner sur un téléphone qui n'a pas d'appareil photo, le CDD exige que tous les téléphones aient un appareil photo. Cela permet aux développeurs de s'appuyer sur un ensemble cohérent de fonctionnalités lors de l'écriture de leurs applications.

Le CDD continue d'évoluer pour refléter les réalités du marché. Par exemple, la version 1.6 du CDD ne prend en charge que les téléphones portables. Mais la version 2.1 permet aux appareils d'omettre le matériel de téléphonie, ce qui permet aux appareils non téléphoniques tels que les lecteurs de musique de type tablette d'être compatibles. Au fur et à mesure que nous apporterons ces modifications, nous augmenterons également Google Play pour permettre aux développeurs de garder le contrôle sur l'endroit où leurs applications sont disponibles. Pour continuer l'exemple de la téléphonie, une application qui gère les messages texte SMS n'est pas utile sur un lecteur multimédia, donc Google Play permet au développeur de restreindre cette application exclusivement aux appareils téléphoniques.

Si mon appareil est compatible, a-t-il automatiquement accès à Google Play et à la marque ?

Non. L'accès n'est pas automatique. Google Play est un service exploité par Google. La compatibilité est une condition préalable à l'accès au logiciel et à la marque Google Play. Une fois qu'un appareil est qualifié d'appareil compatible avec Android , le fabricant de l'appareil doit remplir le formulaire de contact inclus dans la licence des services mobiles Google pour demander l'accès à Google Play. Nous vous contacterons si nous pouvons vous aider.

Si je ne suis pas un fabricant, comment puis-je obtenir Google Play ?

Google Play n'est concédé sous licence qu'aux fabricants de combinés qui expédient des appareils. Pour toute question concernant des cas spécifiques, contactez android-partnerships@google.com .

Comment puis-je accéder aux applications Google pour Android, telles que Maps ?

Les applications Google pour Android telles que, par exemple, YouTube, Google Maps et Gmail sont des propriétés Google qui ne font pas partie d'Android et sont concédées sous licence séparément. Contactez android-partnerships@google.com pour toute demande relative à ces applications.

La compatibilité est-elle obligatoire ?

Non. Le programme de compatibilité Android est facultatif. Le code source d'Android est ouvert, donc n'importe qui peut l'utiliser pour créer n'importe quel type d'appareil. Cependant, si les fabricants souhaitent utiliser le nom Android avec leurs produits, ou veulent accéder à Google Play, ils doivent d'abord démontrer que leurs appareils sont compatibles .

Combien coûte la certification de compatibilité ?

Il n'y a aucun coût pour obtenir la compatibilité Android pour un appareil. La suite de tests de compatibilité est open source et accessible à tous pour tester les appareils.

Combien de temps dure la compatibilité ?

Le processus est automatisé. La suite de tests de compatibilité génère un rapport qui peut être fourni à Google pour vérifier la compatibilité. À terme, nous avons l'intention de fournir des outils en libre-service pour télécharger ces rapports dans une base de données publique.

Qui détermine la définition de compatibilité ?

Google est responsable de la direction générale d'Android en tant que plate-forme et produit. Google gère donc le document de définition de compatibilité (CDD) pour chaque version. Nous rédigeons le CDD pour une nouvelle version d'Android en consultation avec divers OEM qui fournissent des commentaires.

Pendant combien de temps chaque version d'Android sera-t-elle compatible avec les nouveaux appareils ?

Le code d'Android est open source, nous ne pouvons donc pas empêcher quelqu'un d'utiliser une ancienne version pour lancer un appareil. Au lieu de cela, Google choisit de ne pas accorder de licence au logiciel client Google Play pour une utilisation sur des versions considérées comme obsolètes. Cela permet à quiconque de continuer à expédier d'anciennes versions d'Android, mais ces appareils n'utiliseront pas le nom Android et n'existeront pas en dehors de l'écosystème des applications Android, comme s'ils n'étaient pas compatibles.

Un appareil peut-il avoir une interface utilisateur différente tout en restant compatible ?

Le programme de compatibilité Android détermine si un appareil peut exécuter des applications tierces. Les composants de l'interface utilisateur livrés avec un appareil (tels que l'écran d'accueil, le numéroteur et le jeu de couleurs) n'ont généralement pas beaucoup d'effet sur les applications tierces. Ainsi, les constructeurs d'appareils sont libres de personnaliser l'interface utilisateur. Le document de définition de compatibilité limite la mesure dans laquelle les OEM sont autorisés à modifier l'interface utilisateur du système pour les domaines qui ont un impact sur les applications tierces.

Quand les définitions de compatibilité sont-elles publiées pour les nouvelles versions d'Android ?

Notre objectif est de publier une nouvelle version du document de définition de compatibilité Android (CDD) lorsque la version de la plate-forme Android correspondante aura suffisamment convergé pour le permettre. Bien que nous ne puissions pas publier une ébauche finale d'un CDD pour une version du logiciel Android avant que le premier appareil phare ne soit livré avec ce logiciel, les CDD finaux sont toujours publiés après le premier appareil. Cependant, dans la mesure du possible, nous publions des versions préliminaires des CDD.

Comment les déclarations de compatibilité des fabricants d'appareils sont-elles validées ?

Il n'y a pas de processus de validation pour la compatibilité des appareils Android. Toutefois, si l'appareil doit inclure Google Play, Google valide généralement la compatibilité de l'appareil avant d'accepter d'octroyer une licence au logiciel client Google Play.

Que se passe-t-il si un appareil qui revendique la compatibilité s'avère plus tard avoir des problèmes de compatibilité ?

En règle générale, les relations de Google avec les titulaires de licence Google Play nous permettent de demander au fabricant de l'appareil de publier des images système mises à jour qui résolvent les problèmes.

Retour au sommet

Suite de tests de compatibilité

A quoi sert le CTS ?

La suite de tests de compatibilité est un outil utilisé par les fabricants d'appareils pour s'assurer que leurs appareils sont compatibles et pour rapporter les résultats des tests à des fins de validation. Le CTS est destiné à être exécuté fréquemment par les équipementiers tout au long du processus d'ingénierie pour détecter rapidement les problèmes de compatibilité.

Quels types de choses le CTS teste-t-il ?

Le CTS teste actuellement que toutes les API de type fort Android prises en charge sont présentes et se comportent correctement. Il teste également d'autres comportements système non API tels que le cycle de vie et les performances de l'application. Nous prévoyons d'ajouter la prise en charge dans les futures versions de CTS pour tester les API logicielles telles que les intentions.

Les rapports du CTS seront-ils rendus publics ?

Oui. Bien qu'ils ne soient pas actuellement mis en œuvre, Google a l'intention de fournir des outils Web en libre-service aux OEM pour publier des rapports CTS afin que tout le monde puisse les consulter. Les fabricants peuvent partager les rapports CTS avec un public aussi large qu'ils le souhaitent.

Comment le CTS est-il licencié ?

Le CTS est sous licence sous la même licence logicielle Apache 2.0 que celle utilisée par la majeure partie d'Android.

La CTS accepte-t-elle les contributions ?

Oui s'il te plaît! Le projet Open Source Android accepte les contributions pour améliorer le CTS comme pour tout autre composant. En fait, l'amélioration de la couverture et de la qualité des cas de test CTS est l'un des meilleurs moyens d'aider Android.

Est-ce que n'importe qui peut utiliser le CTS sur des appareils existants ?

Le document de définition de compatibilité exige que les appareils compatibles implémentent l'utilitaire de débogage adb . Cela signifie que tout appareil compatible (y compris ceux disponibles dans le commerce) doit pouvoir exécuter les tests CTS.

Les codecs sont-ils vérifiés par CTS ?

Oui. Tous les codecs obligatoires sont vérifiés par CTS.

Retour au sommet