Panoramica AOSP

Android è un sistema operativo per una vasta gamma di dispositivi con diversi fattori di forma. 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 da non avere 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à elevata, con codice sorgente aperto per la personalizzazione e la portabilità.

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

Termini obbligatori

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

Sviluppatore di app per Android

Gli sviluppatori di app Android scrivono app per Android o applicazioni che funzionano su Android. Esistono due classificazioni di sviluppatori di app: proprietari (proprietari) e di terze parti (terze parti).

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 di terze parti per Android
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 developers.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 tua workstation di comunicare con un dispositivo virtuale, emulato con 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 l'SDK Android e NDK. 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 sono idonei a partecipare all'ecosistema Android, che include la potenziale concessione in licenza del Google Play Store, la potenziale concessione in 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 hardware e software per un dispositivo compatibile con Android.
Collaboratore

Una persona che apporta contributi al codice sorgente di AOSP. I collaboratori possono essere dipendenti di Google, dipendenti di altre aziende e privati senza affiliazione aziendale. Ogni collaboratore di AOSP utilizza gli stessi strumenti, segue la stessa procedura di revisione del codice ed è soggetto allo stesso stile di programmazione. Non devi contribuire per utilizzare AOSP; puoi scaricare AOSP, modificarlo in base alle tue esigenze ed eseguirne il deployment su un dispositivo senza fornire codice che altri utenti possano utilizzare.

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

Se vuoi dare il tuo contributo per il codice sorgente, contatta Google prima di iniziare a lavorare.

Compatibility Test Suite (CTS)

Una suite di test senza costi di livello commerciale, disponibile per il download come file binario o come codice sorgente in AOSP. Il CTS è un insieme di test delle unità progettati per essere integrati nel tuo flusso di lavoro quotidiano. Lo scopo di CTS è rilevare le incompatibilità e garantire che il software rimanga compatibile durante l'intero processo di sviluppo.

Seppia

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

Sviluppatore

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

Google Mobile Services (GMS)

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

Target

Una permutazione di un dispositivo, ad esempio un modello o un fattore di forma specifico. Ad esempio, aosp_cf_x86_64_phone-userdebug rappresenta uno smartphone x86 da 65 MB con informazioni di debug progettate per essere eseguite sull'emulatore cuttlefish.

Filosofia di governance

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

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

Naturalmente, la personalizzazione non controllata può portare a implementazioni incompatibili. Per evitare incompatibilità, Android Open Source Project (AOSP) gestisce il programma di compatibilità Android, che spiega cosa significa essere compatibile con Android e cosa è richiesto agli sviluppatori di dispositivi per raggiungere questo stato. Chiunque può utilizzare il codice sorgente di Android per qualsiasi scopo e Google accoglie con favore tutti gli utilizzi legittimi. Tuttavia, per partecipare all'ecosistema condiviso di applicazioni che i membri dell'OHA stanno creando attorno ad Android, i produttori di dispositivi devono partecipare al Programma di compatibilità Android.

AOSP è guidata da Google, che gestisce e sviluppa ulteriormente Android. Anche se Android è costituito da più sottoprogetti, AOSP è strettamente di gestione del progetto. Google considera e gestisce Android come un singolo prodotto software olistico, non come una distribuzione, una specifica o una raccolta di componenti sostituibili. L'intenzione di Google è che i produttori di dispositivi portino Android su un dispositivo, senza implementare una specifica o organizzare una distribuzione.

Passaggi successivi