Questions fréquemment posées

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 personnes 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 portables et autres appareils.

Pourquoi avons-nous ouvert le code source 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 OEM et les développeurs à utiliser pour faire de leurs idées innovantes une réalité. Nous voulions également éviter tout point central de défaillance, 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 les logiciels Android open source sont implémentés de manière aussi large et compatible que possible, dans l'intérêt de tous.

Quel type de projet open source est Android ?

Google supervise le développement de la plate-forme open source d'Android et s'efforce de créer de solides communautés de développeurs et d'utilisateurs. Pour la plupart, le code source Android est sous licence Apache 2.0 permissive, plutôt que d' une licence de 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 les licences .

Pourquoi Google s'occupe-t-il d'Android ?

Le lancement d'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 règles du jeu équitables. La plate-forme doit également être un produit convaincant pour les utilisateurs.

Google a engagé les ressources d'ingénierie professionnelles nécessaires pour s'assurer qu'Android est une plate-forme logicielle entièrement compétitive. Google considère 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 les excellents appareils fonctionnant sous Android parviennent 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 infructueux ?

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 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 liés aux produits et ouvrent la voie à la vaste communauté OEM, qui assure le suivi avec davantage d'appareils tirant 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 actuelle de branche stable. C'est la branche que les fabricants portent sur leurs appareils. Cette branche est maintenue apte à être publiée à tout moment.

En même temps, il y a une branche expérimentale actuelle, qui est l' endroit où les contributions spéculatives, telles que les grandes caractéristiques de la prochaine génération, sont développés. 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 extrait les modifications des branches expérimentales et stables, le cas échéant.

Pour plus de détails sur, branches, lignes de code et de presse, voir la gestion du code PSBA .

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 livrer le dernier logiciel possible. 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 l'expédition de produits et le fait de ne pas vouloir prendre du retard.

Pour résoudre ce problème, certaines parties de la prochaine version d'Android, y compris les API de la plate-forme principale, 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 le travail futur inachevé 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. C'est notre intention de déplacer plus de ces parties pour ouvrir le développement au fil du temps.

Quand les versions du 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 une arborescence privée, 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 diffuser 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 le source de la plateforme 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 une certification réglementaire gouvernementale pour les régions dans lesquelles 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 publication est approuvée par les régulateurs et les opérateurs, le fabricant commence à produire des appareils en série et nous commençons à publier le code source.

Parallèlement à la production de masse, l'équipe de 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 contributeurs attestant de la propriété intellectuelle de leur contribution, Google doit vérifier que la source est autorisée à apporter des contributions.

À partir du début de la production de masse, 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 l'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 pour développer des 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 qui sont compatibles Android sont admissibles à 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 acceptons toutes les utilisations du code source Android, mais pour participer à l'écosystème Android, un appareil doit être identifié comme compatible avec 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 Android Open Source.

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, telle qu'un environnement entièrement basé sur C++. Nous déclinerions cette contribution, car Android encourage les applications à être exécutées 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 le code source à nous contacter via les canaux figurant sur la Communauté Android Page avant de commencer les travaux. Pour plus de détails, voir contribution .

Comment devenir un commiter Android ?

L'Android Open Source Project n'a pas vraiment une idée d'un validateur. 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 de 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 Correctifs soumettons .

Retour au sommet

Compatibilité

Qu'est-ce que la « compatibilité » Android ?

Nous définissons un appareil compatible Android comme celui qui peut exécuter une application écrite par des développeurs tiers à l' aide du SDK Android et NDK. Nous l'utilisons comme filtre pour séparer les appareils qui peuvent participer à l'écosystème des 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 Android peuvent demander une licence pour le logiciel client Google Play. Les appareils sous licence font désormais partie de l'écosystème des 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. La définition de compatibilité Android document (CDD) définit les configurations de périphériques spécifiques qui sont considérés 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 capacité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 style 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 au branding ?

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. Après un dispositif est qualifié comme un appareil compatible Android , le fabricant du périphérique doit remplir le formulaire de contact inclus dans des licences Google Services mobiles 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 les questions liées à ces applications.

La compatibilité est-elle obligatoire ?

Non. Le programme de compatibilité Android est facultatif. Le code source d'Android est ouvert, donc tout le monde peut l'utiliser pour créer n'importe quel type d'appareil. Toutefois, si les fabricants souhaitent utiliser le nom Android avec leurs produits ou veulent avoir accès à 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.

Combien de temps chaque version Android sera-t-elle prise en charge pour 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 octroyer de licence au logiciel client Google Play pour une utilisation sur des versions considérées comme obsolètes. Cela permet à quiconque de continuer à livrer 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 fournis avec un appareil (tels que l'écran d'accueil, le numéroteur et le schéma de couleurs) n'ont généralement pas beaucoup d'effet sur les applications tierces. En tant que tels, les constructeurs de périphériques sont libres de personnaliser l'interface utilisateur. Le document de définition de compatibilité limite le degré auquel les OEM sont autorisés à modifier l'interface utilisateur du système pour les zones 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 version finale d'un CDD pour une version de 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. Cependant, si l'appareil doit inclure Google Play, Google valide généralement la compatibilité de l'appareil avant d'accepter de concéder sous licence le logiciel client Google Play.

Que se passe-t-il si un appareil qui prétend être compatible 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 signaler les résultats des tests à des fins de validation. Le CTS est destiné à être exécuté fréquemment par les OEM tout au long du processus d'ingénierie pour détecter les problèmes de compatibilité au plus tôt.

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 des applications. Nous prévoyons d'ajouter le support dans les futures versions CTS pour tester les API souples tels que Intentions.

Les rapports du CTS seront-ils rendus publics ?

Oui. Bien qu'il ne soit pas actuellement mis en œuvre, Google a l'intention de fournir des outils Web en libre-service permettant aux OEM de 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 concédé sous la même licence logicielle Apache 2.0 que la majeure partie d'Android utilise.

La CTS accepte-t-elle les cotisations ?

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

Tout le monde peut-il utiliser le CTS sur des appareils existants ?

La définition de compatibilité du document exige que les appareils compatibles à mettre en œuvre l' adb utilitaire de débogage. 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 le CTS.

Retour au sommet