Présentation d'AOSP

Android est un système d'exploitation pour un large éventail d'appareils de différents facteurs de forme. La documentation et le code source d'Android sont disponibles pour tous les utilisateurs en tant que 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é de production, dont le code source est 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 les tâches de développement essentielles.

Conditions requises

Vous trouverez ci-dessous la liste des termes et définitions utilisés dans la 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 classifications de développeurs d'applications: les développeurs d'applications propriétaires (first party) et les développeurs d'applications tierces (third party).

Développeur d'applications propriétaires Android
Développeur d'applications Android ayant accès aux API système AOSP et écrivant des applications privilégiées et des applications du fabricant de l'appareil.
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 sont destinées uniquement aux personnes qui travaillent directement avec AOSP.

Android Debug Bridge (adb)
Outil de ligne de commande (adb) qui permet à votre station 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 la 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 le CTS, consultez la présentation du programme de compatibilité Android
.
Document de définition de la 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. Les contributeurs peuvent être des employés de Google, des employés d'autres entreprises et des personnes sans affiliation à une entreprise. Chaque contributeur AOSP utilise les mêmes outils, suit le même processus d'examen du 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 de code accepté par Google est limité. Par exemple, vous pouvez proposer une autre API d'application, comme un environnement entièrement basé sur C++. Google refusera cette contribution, car Android encourage les applications à s'exécuter 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 test sans frais de qualité professionnelle, disponible en téléchargement au format binaire ou source dans AOSP. Le CTS est un ensemble de tests unitaires conçus pour être intégrés à votre workflow quotidien. L'objectif du 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 Android virtuel configurable pouvant 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 pouvant être préinstallées sur les appareils.

Cible

Permutation d'un appareil, comme 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 s'exécuter sur l'émulateur cuttlefish.

Philosophie de gouvernance

Android a été créé par un groupe d'entreprises appelé Open Handset Alliance (OHA), dirigé par Google. Aujourd'hui, de nombreuses entreprises, membres d'origine de l'OHA ou autres, ont investi massivement dans Android. Ces entreprises ont alloué des ressources d'ingénierie importantes 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 un projet Open Source intentionnel et explicite (par opposition aux logiciels libres). Un groupe d'organisations ayant des besoins communs a mis en commun ses ressources pour collaborer sur une seule implémentation d'un produit partagé. La philosophie Android est avant tout 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 définit ce que signifie être compatible avec Android et ce que les fabricants d'appareils doivent faire pour obtenir cet état. Tout le monde peut utiliser le code source Android à n'importe quel fin, et Google encourage toutes les utilisations légitimes. Toutefois, pour participer à l'écosystème partagé d'applications que les membres de l'OHA développent autour d'Android, les fabricants d'appareils doivent participer au programme de compatibilité Android.

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 une collection de pièces remplaçables. L'objectif de Google est que les fabricants d'appareils portent Android sur un appareil. Ils n'implémentent pas de spécification ni ne sélectionnent pas une distribution.

Et maintenant ?

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

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

  • Pour en savoir plus sur l'historique d'AOSP, y compris sur la participation de Google à la plate-forme, consultez les questions fréquentes sur AOSP.