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 disponibles pour tous dans le projet Android Open Source (AOSP). Vous pouvez utiliser AOSP pour créer des variantes personnalisées de l'OS Android pour vos propres appareils.
AOSP est conçu de manière à ce qu'il n'y ait 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 pour les développeurs complet et de qualité professionnelle, 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 des tâches de développement essentielles.
Conditions requises
Vous trouverez ci-dessous une liste des termes et définitions utilisés dans la documentation "Premiers pas". Vous devez é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 types de développeurs d'applications : les développeurs d'applications first party (1p) et third party (3p).
- Développeur d'applications Android propriétaires
- Développeur d'applications Android ayant accès aux API système AOSP et écrivant des applications privilégiées et de fabricant d'appareils.
- Développeur d'applications Android tierces
- 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 developer.android.com
. Les informations de ce site Web sont réservées aux personnes travaillant directement avec AOSP.
- Android Debug Bridge (adb)
- Un 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 la Compatibility Test Suite (CTS). Les appareils compatibles avec Android peuvent participer à l'écosystème Android, qui inclut la possibilité d'obtenir une licence pour le Google Play Store et 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 la CTS, consultez la présentation du programme de compatibilité Android.
- Document sur les conditions de compatibilité
- Document qui énumère les exigences logicielles et matérielles 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 la même procédure d'examen du code et est soumis au même style de programmation. Vous n'avez pas besoin d'être un contributeur pour utiliser AOSP. Vous pouvez télécharger AOSP, le modifier pour vos propres besoins et le déployer sur un appareil sans contribuer au code pour que d'autres l'utilisent.
Google accepte certains types de contributions de code. Par exemple, vous pouvez contribuer à une API d'application alternative, telle qu'un environnement complet 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.
- La suite de tests de compatibilité
Suite de tests sans frais et de qualité commerciale, disponible en téléchargement sous forme de binaire ou de 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
Il s'agit d'un 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" est utilisé de manière générique pour désigner les différentes personnes susceptibles de lire cette documentation, comme les fabricants d'équipement d'origine (OEM), les fabricants de téléphones portables, 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_only_phone-userdebug
représente un téléphone x86 de 65 Mo avec des informations de débogage conçu 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, qu'elles soient membres fondateurs de l'OHA ou non, ont beaucoup investi 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 pensent qu'une plate-forme ouverte est nécessaire. Android est intentionnellement et explicitement un projet Open Source (par opposition à un logiciel libre). Un groupe d'organisations ayant des besoins communs a mis en commun ses ressources pour collaborer sur une implémentation unique 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 sûr, une personnalisation non contrôlée peut entraîner des implémentations incompatibles. Pour éviter les problèmes d'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 atteindre cet état. Tout le monde peut utiliser le code source Android à n'importe quelle fin, et Google accepte 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, l'AOSP est strictement axé sur la 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 une collection de composants 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 gèrent de distribution.
Étapes suivantes
Si vous débutez avec AOSP et que vous souhaitez suivre un tutoriel sur le développement AOSP, passez à 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.