Panoramica di AOSP

Android è un sistema operativo per un'ampia gamma di dispositivi con fattori di forma diversi. La documentazione e il codice sorgente di Android sono disponibili per chiunque come Android Open Source Project (AOSP). Puoi utilizzare AOSP per creare varianti personalizzate del sistema operativo Android per i tuoi dispositivi.

AOSP è progettato in modo che non ci sia un punto centrale di errore, in cui un attore del settore limita o controlla le innovazioni di un altro. Pertanto, AOSP è un prodotto per sviluppatori completo e di qualità di produzione con codice sorgente aperto per la personalizzazione e il porting.

Questa sezione della documentazione aiuta i nuovi sviluppatori AOSP a iniziare a utilizzare la piattaforma e a svolgere le attività di sviluppo essenziali.

Termini richiesti

Di seguito è riportato un elenco di termini e definizioni utilizzati nella documentazione Guida introduttiva. Ti consigliamo di studiare ogni definizione prima di continuare.

Sviluppatore di app per Android

Gli sviluppatori di app per Android scrivono app per Android o applicazioni che vengono eseguite su Android. Esistono due tipi di sviluppatori di app: proprietari (1P) e di terze parti (3P).

Sviluppatore di app proprietarie per Android
Uno sviluppatore di app per Android che ha accesso alle API di sistema AOSP e scrive app privilegiate e del produttore del dispositivo.
Sviluppatore di app per Android di terze parti
Uno sviluppatore di app per Android che utilizza esclusivamente l'SDK pubblico di Android per creare app per Android.

Se vuoi sviluppare app di terze parti per Android, consulta developer.android.com. Le informazioni su questo sito web sono destinate esclusivamente a coloro che lavorano direttamente con AOSP.

Android Debug Bridge (ADB)
Uno strumento a riga di comando (adb) che consente alla workstation di comunicare con un dispositivo virtuale, emulato via software o fisico.
Dispositivo compatibile con Android
Un dispositivo in grado di eseguire qualsiasi app di terze parti scritta da sviluppatori di terze parti utilizzando gli SDK e NDK Android. I dispositivi compatibili con Android devono rispettare i requisiti del Compatibility Definition Document (CDD) e superare la Compatibility Test Suite (CTS). I dispositivi compatibili con Android possono partecipare all'ecosistema Android, che include la potenziale licenza del Google Play Store, la potenziale licenza della suite di applicazioni e API Google Mobile Services (GMS) e l'utilizzo del marchio Android. Chiunque può utilizzare il codice sorgente di Android, ma per essere considerato parte dell'ecosistema Android, un dispositivo deve essere compatibile con Android. Per ulteriori informazioni sulla compatibilità e su CTS, consulta la panoramica del Programma di compatibilità Android
.
Compatibility Definition Document (CDD)
Un documento che elenca i requisiti software e hardware per un dispositivo compatibile con Android.
Collaboratore

Una persona che contribuisce al codice sorgente AOSP. I collaboratori possono essere dipendenti di Google, dipendenti di altre società e privati senza affiliazione aziendale. Tutti i collaboratori di AOSP utilizzano gli stessi strumenti, seguono la stessa procedura di revisione del codice e sono soggetti allo stesso stile di programmazione. Non devi essere un collaboratore per utilizzare AOSP. Puoi scaricare AOSP, modificarlo in base alle tue esigenze e implementarlo su un dispositivo senza contribuire con codice da utilizzare per altri.

Esistono limiti al tipo di contributi di codice accettati da Google. Ad esempio, potresti voler contribuire con un'API dell'applicazione alternativa, ad esempio un ambiente completo basato su C++. Google rifiuterebbe questo contributo perché Android incoraggia l'esecuzione delle applicazioni nel runtime ART. Allo stesso modo, Google non accetta contributi come librerie GPL o LGPL incompatibili con gli obiettivi di licenza.

Se ti interessa contribuire con il codice sorgente, contatta Google prima di iniziare a lavorare.

Suite di test di compatibilità (CTS)

Una suite di test senza costi di livello commerciale, disponibile per il download come binario o come origine in AOSP. Il CTS è un insieme di test delle unità progettati per essere integrati nel tuo flusso di lavoro quotidiano. L'obiettivo di CTS è rivelare incompatibilità e garantire che il software rimanga compatibile durante tutto il processo di sviluppo.

Seppia

Un dispositivo virtuale configurabile basato su Android che può essere eseguito in remoto utilizzando offerte cloud di terze parti, come Google Cloud Engine, e localmente su macchine Linux x86.

Sviluppatore

Nel contesto di AOSP, uno sviluppatore è chiunque lavori con AOSP in qualsiasi modo. Il termine "sviluppatore" viene utilizzato per fare riferimento in modo generico alle varie persone che potrebbero leggere questa documentazione, come i produttori di apparecchiature originali (OEM), i produttori di cellulari, gli operatori e i creatori di system on a chip (SoC).

Google Mobile Services (GMS)

Una raccolta di app e API Google che possono essere preinstallate sui dispositivi.

Target

Una variante di un dispositivo, ad esempio un modello o un fattore di forma specifico. Ad esempio, aosp_cf_x86_64_only_phone-userdebug rappresenta uno smartphone x86 da 65 MB con informazioni di debug progettato per essere eseguito sull'emulatore Cuttlefish.

Filosofia di governance

Android è nato da un gruppo di aziende noto come Open Handset Alliance (OHA), guidato da Google. Oggi, molte aziende, sia membri originari dell'OHA sia altre, hanno investito molto in Android. Queste aziende hanno allocato risorse di ingegneria significative per migliorare Android e portare i dispositivi Android sul mercato.

Le aziende che hanno investito in Android lo hanno fatto perché ritengono necessaria una piattaforma aperta. Android è intenzionalmente ed esplicitamente un progetto open source (anziché un software senza costi); un gruppo di organizzazioni con esigenze condivise ha messo in comune le risorse per collaborare a un'unica implementazione di un prodotto condiviso. Innanzitutto, la filosofia di Android è pragmatica. L'obiettivo è un prodotto condiviso che ogni collaboratore può adattare e personalizzare.

Naturalmente, una personalizzazione incontrollata può portare a implementazioni incompatibili. Per evitare incompatibilità, l'Android Open Source Project (AOSP) gestisce il programma di compatibilità Android, che definisce cosa significa essere compatibili con Android e cosa è richiesto ai produttori di dispositivi per ottenere questo stato. Chiunque può utilizzare il codice sorgente di Android per qualsiasi scopo e Google accoglie tutti gli utilizzi legittimi. Tuttavia, per partecipare all'ecosistema condiviso di applicazioni che i membri dell'OHA stanno creando intorno ad Android, i produttori di dispositivi devono partecipare al programma di compatibilità Android.

AOSP è guidato da Google, che gestisce e sviluppa ulteriormente Android. Sebbene Android sia costituito da più sottoprogetti, AOSP è strettamente legato alla gestione dei progetti. Google considera e gestisce Android come un prodotto software unico e olistico, non una distribuzione, una specifica o una raccolta di parti sostituibili. L'intenzione di Google è che i produttori di dispositivi portino Android su un dispositivo; non implementano una specifica o curano una distribuzione.

Passaggi successivi