Présentation de l'AOSP,aperçu de l'AOSP

Android est un système d'exploitation pour un large éventail d'appareils avec différents facteurs de forme. La documentation et le code source d'Android sont accessibles à tous sous le nom d' Android Open Source Project (AOSP) . Vous pouvez utiliser AOSP pour créer des variantes personnalisées du système d'exploitation Android pour vos propres appareils.

L'AOSP est conçu de telle sorte qu'il n'y ait pas de point central de défaillance, où un acteur de l'industrie restreint ou contrôle les innovations d'un autre. Par conséquent, AOSP est un produit de développement complet de qualité production avec un code source ouvert pour la personnalisation et le portage.

Cette section de la documentation aide les nouveaux développeurs AOSP à démarrer avec la plateforme et à effectuer les tâches de développement essentielles.

Conditions requises

Voici une liste de termes et de définitions utilisés dans cette documentation de démarrage. Vous devriez étudier chaque définition avant de continuer.

Développeur d'applications Android

Les développeurs d'applications Android écrivent des applications Android ou des applications qui s'exécutent sur Android. Il existe deux catégories de développeurs d'applications : les développeurs d'applications propriétaires (1p) et tiers (3p).

Développeur d'applications Android 1p
Un développeur d'applications Android qui a accès aux API du système AOSP et écrit des applications privilégiées et celles des fabricants d'appareils.
Développeur d'applications Android 3p
Un développeur d'applications Android qui utilise uniquement le SDK public d'Android pour créer des applications Android.

Si vous souhaitez développer des applications 3p pour Android, reportez-vous à developers.android.com . Les informations contenues sur ce site Web sont uniquement destinées à ceux qui travaillent directement avec AOSP.

Pont de débogage Android (ADB)
Un outil de ligne de commande ( adb ) qui permet à votre poste de travail de communiquer avec un périphérique virtuel, émulé par logiciel ou physique.
Appareil compatible Android
Un appareil capable d'exécuter n'importe quelle application tierce écrite par des développeurs tiers à l'aide du SDK et du NDK Android. Les appareils compatibles Android doivent respecter les exigences du document de définition de compatibilité (CDD) et réussir la suite de tests de compatibilité (CTS) . Les appareils compatibles Android sont éligibles pour participer à l'écosystème Android, qui comprend une licence potentielle du Play Store Android, une licence potentielle pour la suite d'applications et d'API Google Mobile Services (GMS) et l'utilisation de la marque Android. Tout le monde est invité à utiliser le code source d'Android, mais pour être considéré comme faisant partie de l'écosystème Android, un appareil doit être compatible avec Android. Pour plus d'informations sur la compatibilité et le CTS, consultez la présentation du programme de compatibilité Android.
Approbateur
Membres expérimentés de la communauté AOSP qui ont apporté d'importantes contributions techniques et de conception à la plateforme. Dans le processus de révision du code, un approbateur décide d'inclure ou non une modification. Les chefs de projet (qui sont généralement employés par Google) choisissent les approbateurs, promouvant parfois les vérificateurs au poste d'approbateur lorsqu'ils démontrent leur expertise sur une partie spécifique de l'AOSP.
Document de définition de compatibilité (CDD)
Un document qui énumère les exigences logicielles et matérielles pour un appareil compatible Android.
Donateur

Une personne qui contribue également au code source de l'AOSP. Les contributeurs peuvent être des employés de Google, des employés d'autres sociétés et des personnes sans affiliation à une entreprise. Chaque contributeur AOSP utilise les mêmes outils, suit le même processus de révision de code et est soumis au même style de codage. Vous n'avez pas besoin d'être contributeur pour utiliser AOSP ; vous pouvez télécharger AOSP, le modifier selon vos propres besoins et le déployer sur un appareil sans contribuer au code que d'autres peuvent utiliser.

Il existe des limites au type de contributions de code que Google accepte. Par exemple, vous souhaiterez peut-être contribuer à une API d'application alternative, telle qu'un environnement entièrement basé sur C++. Google refuserait cette contribution car Android encourage l'exécution des applications dans le runtime ART. De même, Google n'accepte pas les contributions telles que les bibliothèques GPL ou LGPL qui sont incompatibles avec les objectifs de licence.

Si vous souhaitez contribuer au code source, contactez Google avant de commencer à travailler.

Suite de tests de compatibilité (CTS)

Une suite de tests gratuite de qualité commerciale, disponible en téléchargement sous forme binaire ou source dans AOSP. Le CTS est un ensemble de tests unitaires conçus pour être intégrés à votre flux de travail quotidien. L'intention de CTS est de révéler les incompatibilités et de garantir que le logiciel reste compatible tout au long du processus de développement.

Seiche

Un appareil virtuel Android configurable qui peut s'exécuter à distance, à l'aide d'offres cloud tierces, telles que Google Cloud Engine, et localement sur des machines Linux x86.

Développeur

Dans le contexte de l'AOSP, un développeur est toute personne qui travaille avec l'AOSP de quelque manière que ce soit. Le terme « développeur » est utilisé pour désigner de manière générique les différentes personnes susceptibles de lire cette documentation, telles que les fabricants d'équipement d'origine (OEM), les fabricants de combinés, les opérateurs et les créateurs de systèmes sur puce (SoC).

Services mobiles Google (GMS)

Un ensemble d'applications et d'API Google pouvant être préinstallées sur les appareils.

Cible

Une permutation d'un appareil, telle qu'un modèle ou un facteur de forme spécifique. Par exemple, aosp_cf_x86_64_phone-userdebug représente un téléphone x86 de 65 Mo avec des informations de débogage conçues pour fonctionner sur l'émulateur de seiche.

Vérificateur

Un contributeur apprécié de la communauté Android qui télécharge et vérifie les modifications apportées à AOSP. Après avoir soumis une quantité importante de code de haute qualité à l'AOSP, les chefs de projet peuvent vous inviter à devenir vérificateur.

Philosophie de gouvernance

Un groupe de sociétés connu sous le nom d'Open Handset Alliance (OHA), dirigé par Google, est à l'origine d'Android. Aujourd'hui, de nombreuses entreprises, membres fondateurs de l'OHA et autres, ont investi massivement dans Android. Ces sociétés ont alloué d'importantes ressources d'ingénierie pour améliorer Android et commercialiser des appareils Android.

Les entreprises qui ont investi dans Android l’ont fait parce qu’elles estiment qu’une plateforme ouverte est nécessaire. Android est intentionnellement et explicitement un effort open source (par opposition aux logiciels libres) ; un groupe d'organisations ayant des besoins communs a mis en commun ses ressources pour collaborer sur une seule mise en œuvre d'un produit partagé. Avant tout, la philosophie Android est pragmatique. L’objectif est un produit partagé que chaque contributeur peut adapter et personnaliser.

Bien entendu, une personnalisation incontrôlée peut conduire à des implémentations incompatibles. Pour éviter toute incompatibilité, le projet Android Open Source (AOSP) gère le programme de compatibilité Android , qui explique ce que signifie être compatible avec Android et ce qui est exigé des constructeurs d'appareils pour atteindre ce statut. N'importe qui peut utiliser le code source d'Android à n'importe quelle fin, et Google accueille toutes les utilisations légitimes. Cependant, pour participer à l'écosystème partagé d'applications que les membres de l'OHA créent autour d'Android, les constructeurs d'appareils doivent participer au programme de compatibilité Android.

AOSP est dirigé par Google, qui maintient et développe Android. Bien qu'Android se compose de plusieurs sous-projets, AOSP est strictement une gestion de projet. Google considère et gère Android comme un produit logiciel unique et holistique, et non comme une distribution, une spécification ou un ensemble de pièces remplaçables. L'intention de Google est que les constructeurs d'appareils portent Android sur un appareil ; ils n'implémentent pas de spécification ni ne organisent de distribution.

Et après?

  • Si vous êtes nouveau sur AOSP et que vous souhaitez suivre un didacticiel sur le développement d'AOSP, passez au didacticiel AOSP .

  • Si vous pensez que votre appareil doit être compatible avec Android, reportez-vous au programme de compatibilité Android .

  • Si vous souhaitez en savoir plus sur l'historique de l'AOSP, y compris la participation de Google à la plateforme, consultez la foire aux questions de l'AOSP .

,

Android est un système d'exploitation pour un large éventail d'appareils avec différents facteurs de forme. La documentation et le code source d'Android sont accessibles à tous sous le nom d' Android Open Source Project (AOSP) . Vous pouvez utiliser AOSP pour créer des variantes personnalisées du système d'exploitation Android pour vos propres appareils.

L'AOSP est conçu de telle sorte qu'il n'y ait pas de point central de défaillance, où un acteur de l'industrie restreint ou contrôle les innovations d'un autre. Par conséquent, AOSP est un produit de développement complet de qualité production avec un code source ouvert pour la personnalisation et le portage.

Cette section de la documentation aide les nouveaux développeurs AOSP à démarrer avec la plateforme et à effectuer les tâches de développement essentielles.

Conditions requises

Voici une liste de termes et de définitions utilisés dans cette documentation de démarrage. Vous devriez étudier chaque définition avant de continuer.

Développeur d'applications Android

Les développeurs d'applications Android écrivent des applications Android ou des applications qui s'exécutent sur Android. Il existe deux catégories de développeurs d'applications : les développeurs d'applications propriétaires (1p) et tiers (3p).

Développeur d'applications Android 1p
Un développeur d'applications Android qui a accès aux API du système AOSP et écrit des applications privilégiées et celles des fabricants d'appareils.
Développeur d'applications Android 3p
Un développeur d'applications Android qui utilise uniquement le SDK public d'Android pour créer des applications Android.

Si vous souhaitez développer des applications 3p pour Android, reportez-vous à developers.android.com . Les informations contenues sur ce site Web sont uniquement destinées à ceux qui travaillent directement avec AOSP.

Pont de débogage Android (ADB)
Un outil de ligne de commande ( adb ) qui permet à votre poste de travail de communiquer avec un périphérique virtuel, émulé par logiciel ou physique.
Appareil compatible Android
Un appareil capable d'exécuter n'importe quelle application tierce écrite par des développeurs tiers à l'aide du SDK et du NDK Android. Les appareils compatibles Android doivent respecter les exigences du document de définition de compatibilité (CDD) et réussir la suite de tests de compatibilité (CTS) . Les appareils compatibles Android sont éligibles pour participer à l'écosystème Android, qui comprend une licence potentielle du Play Store Android, une licence potentielle pour la suite d'applications et d'API Google Mobile Services (GMS) et l'utilisation de la marque Android. Tout le monde est invité à utiliser le code source d'Android, mais pour être considéré comme faisant partie de l'écosystème Android, un appareil doit être compatible avec Android. Pour plus d'informations sur la compatibilité et le CTS, consultez la présentation du programme de compatibilité Android.
Approbateur
Membres expérimentés de la communauté AOSP qui ont apporté d'importantes contributions techniques et de conception à la plateforme. Dans le processus de révision du code, un approbateur décide d'inclure ou non une modification. Les chefs de projet (qui sont généralement employés par Google) choisissent les approbateurs, promouvant parfois les vérificateurs au poste d'approbateur lorsqu'ils démontrent leur expertise sur une partie spécifique de l'AOSP.
Document de définition de compatibilité (CDD)
Un document qui énumère les exigences logicielles et matérielles pour un appareil compatible Android.
Donateur

Une personne qui contribue également au code source de l'AOSP. Les contributeurs peuvent être des employés de Google, des employés d'autres sociétés et des personnes sans affiliation à une entreprise. Chaque contributeur AOSP utilise les mêmes outils, suit le même processus de révision de code et est soumis au même style de codage. Vous n'avez pas besoin d'être contributeur pour utiliser AOSP ; vous pouvez télécharger AOSP, le modifier selon vos propres besoins et le déployer sur un appareil sans contribuer au code que d'autres peuvent utiliser.

Il existe des limites au type de contributions de code que Google accepte. Par exemple, vous souhaiterez peut-être contribuer à une API d'application alternative, telle qu'un environnement entièrement basé sur C++. Google refuserait cette contribution car Android encourage l'exécution des applications dans le runtime ART. De même, Google n'accepte pas les contributions telles que les bibliothèques GPL ou LGPL qui sont incompatibles avec les objectifs de licence.

Si vous souhaitez contribuer au code source, contactez Google avant de commencer à travailler.

Suite de tests de compatibilité (CTS)

Une suite de tests gratuite de qualité commerciale, disponible en téléchargement sous forme binaire ou source dans AOSP. Le CTS est un ensemble de tests unitaires conçus pour être intégrés à votre flux de travail quotidien. L'intention de CTS est de révéler les incompatibilités et de garantir que le logiciel reste compatible tout au long du processus de développement.

Seiche

Un appareil virtuel Android configurable qui peut s'exécuter à distance, à l'aide d'offres cloud tierces, telles que Google Cloud Engine, et localement sur des machines Linux x86.

Développeur

Dans le contexte de l'AOSP, un développeur est toute personne qui travaille avec l'AOSP de quelque manière que ce soit. Le terme « développeur » est utilisé pour désigner de manière générique les différentes personnes susceptibles de lire cette documentation, telles que les fabricants d'équipement d'origine (OEM), les fabricants de combinés, les opérateurs et les créateurs de systèmes sur puce (SoC).

Services mobiles Google (GMS)

Un ensemble d'applications et d'API Google pouvant être préinstallées sur les appareils.

Cible

Une permutation d'un appareil, telle qu'un modèle ou un facteur de forme spécifique. Par exemple, aosp_cf_x86_64_phone-userdebug représente un téléphone x86 de 65 Mo avec des informations de débogage conçues pour fonctionner sur l'émulateur de seiche.

Vérificateur

Un contributeur apprécié de la communauté Android qui télécharge et vérifie les modifications apportées à AOSP. Après avoir soumis une quantité importante de code de haute qualité à l'AOSP, les chefs de projet peuvent vous inviter à devenir vérificateur.

Philosophie de gouvernance

Un groupe de sociétés connu sous le nom d'Open Handset Alliance (OHA), dirigé par Google, est à l'origine d'Android. Aujourd'hui, de nombreuses entreprises, membres fondateurs de l'OHA et autres, ont investi massivement dans Android. Ces sociétés ont alloué d'importantes ressources d'ingénierie pour améliorer Android et commercialiser des appareils Android.

Les entreprises qui ont investi dans Android l’ont fait parce qu’elles estiment qu’une plateforme ouverte est nécessaire. Android est intentionnellement et explicitement un effort open source (par opposition aux logiciels libres) ; un groupe d'organisations ayant des besoins communs a mis en commun ses ressources pour collaborer sur une seule mise en œuvre d'un produit partagé. Avant tout, la philosophie Android est pragmatique. L’objectif est un produit partagé que chaque contributeur peut adapter et personnaliser.

Bien entendu, une personnalisation incontrôlée peut conduire à des implémentations incompatibles. Pour éviter toute incompatibilité, le projet Android Open Source (AOSP) gère le programme de compatibilité Android , qui explique ce que signifie être compatible avec Android et ce qui est exigé des constructeurs d'appareils pour atteindre ce statut. N'importe qui peut utiliser le code source d'Android à n'importe quelle fin, et Google accueille toutes les utilisations légitimes. Cependant, pour participer à l'écosystème partagé d'applications que les membres de l'OHA créent autour d'Android, les constructeurs d'appareils doivent participer au programme de compatibilité Android.

AOSP est dirigé par Google, qui maintient et développe Android. Bien qu'Android se compose de plusieurs sous-projets, AOSP est strictement une gestion de projet. Google considère et gère Android comme un produit logiciel unique et holistique, et non comme une distribution, une spécification ou un ensemble de pièces remplaçables. L'intention de Google est que les constructeurs d'appareils portent Android sur un appareil ; ils n'implémentent pas de spécification ni ne organisent de distribution.

Et après?

  • Si vous êtes nouveau sur AOSP et que vous souhaitez suivre un didacticiel sur le développement d'AOSP, passez au didacticiel AOSP .

  • Si vous pensez que votre appareil doit être compatible avec Android, reportez-vous au programme de compatibilité Android .

  • Si vous souhaitez en savoir plus sur l'historique de l'AOSP, y compris la participation de Google à la plateforme, consultez la foire aux questions de l'AOSP .