Présentation d'AOSP

Android est un système d'exploitation conçu pour un large éventail d'appareils avec différents facteurs de forme. La documentation et le code source pour Android sont à la disposition de tous dans le cadre du projet Android Open Source (AOSP). Vous pouvez utiliser AOSP pour créer des variantes personnalisées du système d'exploitation Android pour vos propres appareils.

AOSP est conçu de sorte qu'il n'y a pas de point de défaillance central, où un acteur du secteur 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 à se familiariser avec la plate-forme et à effectuer des tâches de développement essentielles.

Conditions requises

Vous trouverez ci-dessous la liste des termes et définitions utilisés dans cette documentation de démarrage. Vous devez étudier chaque définition avant de continuer.

Développeur d'applications Android

Les développeurs d'applications Android rédigent des applications Android ou des applications s'exécutant sous Android. Il existe deux catégories de développeurs d'applications: les développeurs d'applications propriétaires (1p) et les développeurs d'applications tierces (3p).

Développeur d'applications Android 1p
Développeur d'applications Android qui a accès aux API système AOSP et écrit des applications privilégiées et des fabricants d'appareils.
Développeur d'applications tierces Android
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 tierces pour Android, consultez developers.android.com. Les informations de ce site Web ne sont destinées qu'aux personnes travaillant directement avec AOSP.

Android Debug Bridge (ADB)
Outil de ligne de commande (adb) qui permet à votre poste de travail de communiquer avec un appareil virtuel, émulé par logiciel ou physique.
Appareil compatible avec Android
Appareil pouvant exécuter n'importe quelle application tierce écrite par des développeurs tiers à l'aide du SDK et du NDK Android. Les appareils compatibles avec Android doivent respecter les exigences du document de définition de compatibilité (CDD) et réussir les tests de la suite de tests de compatibilité (CTS). Les appareils compatibles avec Android peuvent faire partie de l'écosystème Android, ce qui inclut les licences potentielles du Play Store Android, des licences potentielles pour la suite d'applications et d'API Google Mobile Services (GMS), ainsi que l'utilisation de la marque Android. Tout le monde peut utiliser le code source Android, mais pour être considéré comme faisant partie de l'écosystème Android, un appareil doit être compatible avec Android. Pour en savoir plus sur la compatibilité et CTS, consultez la présentation du programme de compatibilité Android.
Document de définition de compatibilité (CDD)
Document décrivant la configuration logicielle et matérielle requise pour un appareil compatible avec Android.
Contributeur

Personne qui contribue au code source AOSP. Il peut s'agir d'employés de Google, d'employés d'autres entreprises ou de personnes physiques sans affiliation à une entreprise. Chaque contributeur AOSP utilise les mêmes outils, suit le même processus de revue de code et est soumis au même style de codage. Vous n'avez pas besoin d'être un contributeur pour utiliser AOSP. Vous pouvez le télécharger, le modifier selon vos propres besoins et le déployer sur un appareil sans contribuer au code pour que d'autres puissent l'utiliser.

Le type de contributions au code que Google accepte est limité. Par exemple, vous pouvez proposer une autre API d'application, telle qu'un environnement complet basé sur C++. Google refuserait cette contribution, car Android encourage l'exécution des applications dans l'environnement d'exécution 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.

La suite de tests de compatibilité

Suite de tests sans frais de qualité commerciale, disponible au téléchargement en tant que binaire ou en tant que source dans AOSP. Il s'agit d'un ensemble de tests unitaires conçus pour être intégrés à votre workflow quotidien. L'objectif de CTS est de révéler les incompatibilités et de s'assurer que le logiciel reste compatible tout au long du processus de développement.

Seiche

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

Développeur

Dans le contexte d'AOSP, un développeur est toute personne qui travaille avec AOSP de quelque manière que ce soit. Le terme "développeur" désigne de manière générique les différentes personnes susceptibles de lire cette documentation, comme les fabricants d'équipement d'origine (OEM), les fabricants de téléphones, les opérateurs et les créateurs de systèmes sur une puce (SoC).

Services Google Mobile (GMS)

Ensemble d'applications et d'API Google qui peuvent être préinstallées sur les appareils.

Target

Permutation d'un appareil, par exemple 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çue pour s'exécuter sur l'émulateur de seiche.

Philosophie de gouvernance

Android est un groupe d'entreprises connu sous le nom d'Open Handset Alliance (OHA), dirigé par Google. Aujourd'hui, de nombreuses entreprises (membres originaux de l'OHA ou autres) ont investi massivement dans Android. Ces entreprises 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 plate-forme ouverte est nécessaire. Android est intentionnellement et explicitement un effort Open Source (par opposition aux logiciels sans frais). Un groupe d'organisations ayant des besoins partagés dispose de ressources mises en commun pour collaborer sur une seule implémentation 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 entraîner des implémentations incompatibles. Pour éviter toute incompatibilité, le projet Android Open Source (AOSP) gère le programme de compatibilité Android, qui précise ce que signifie être compatible avec Android et ce que les compilateurs d'appareils doivent faire pour obtenir ce statut. Tout le monde peut utiliser le code source Android à n'importe quelle fin, et Google accepte toute utilisation légitime. Toutefois, pour participer à l'écosystème partagé d'applications que les membres de l'OHA créent autour d'Android, les compilateurs d'appareils doivent participer au programme de compatibilité Android.

L'AOSP est dirigé par Google, qui gère et développe Android. Bien qu'Android se compose de plusieurs sous-projets, AOSP est strictement la gestion de projet. Google considère et gère Android comme un produit logiciel unique et global, et non comme une distribution, une spécification ou un ensemble de pièces remplaçables. L'objectif de Google est de permettre aux constructeurs d'appareils de transférer Android vers un appareil. Ils n'implémentent pas de spécifications ni n'organisent de distribution.

Et maintenant ?

  • Si vous débutez avec AOSP et que vous souhaitez suivre un tutoriel sur le développement AOSP, suivez le tutoriel AOSP.

  • Si vous pensez que votre appareil doit être compatible avec Android, consultez le programme de compatibilité Android.

  • Si vous souhaitez en savoir plus sur le contexte d'AOSP, y compris la participation de Google à la plate-forme, consultez les questions fréquentes sur AOSP.