Panoramica AOSP

Android è un sistema operativo per un'ampia gamma di dispositivi con fattori di forma diversi. La documentazione e il codice sorgente per Android sono disponibili per tutti 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 e a eseguire attività di sviluppo essenziali.

Termini obbligatori

Di seguito è riportato un elenco dei termini e delle definizioni utilizzati in questa documentazione introduttiva. Ti consigliamo di studiare ogni definizione prima di proseguire.

Sviluppatore di app per Android

Gli sviluppatori di app per Android scrivono app per Android o applicazioni eseguite su Android. Esistono due categorie di sviluppatori di app: 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 AOSP System e scrive app con privilegi e del produttore di dispositivi.
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 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 il Compatibility Test Suite (CTS). I dispositivi compatibili con Android sono idonei a far parte dell'ecosistema Android, che include potenziale licenza per Android Play Store, potenziale licenza per la suite Google Mobile Services (GMS) di applicazioni e API 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 CTS, consulta la panoramica del Programma di compatibilità Android
Compatibilità 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 aziende e privati senza alcuna affiliazione aziendale. Ogni collaboratore AOSP utilizza gli stessi strumenti, segue lo stesso processo 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 possano utilizzare.

Esistono dei limiti al tipo di contributi tramite codice accettati da Google. Ad esempio, potresti contribuire con un'API per applicazioni alternative, come un ambiente completo basato su C++. Google rifiuterebbe il contributo perché Android incentiva l'esecuzione delle app nel runtime ART. Analogamente, Google non accetta contributi, quali le librerie LGPL o GPL, incompatibili con gli obiettivi di licenza.

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

Suite di test di compatibilità (Compatibility Test Suite, CTS)

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

Seppia

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

Sviluppatore

Nel contesto di AOSP, per sviluppatore si intende 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 produttori di apparecchiature originali (OEM), produttori di telefoni, operatori e creatori 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 progettato per essere eseguito sull'emulatore seppia.

Filosofia di governance

Un gruppo di società noto come Open Handset Alliance (OHA), guidato da Google, ha fondato Android. Oggi, molte aziende, sia membri originari dell'OHA che altre, hanno investito molto in Android. Queste aziende hanno allocato ingente risorse di progettazione per migliorare Android e portare i dispositivi Android sul mercato.

Le aziende che hanno investito in Android lo hanno fatto perché ritengono che sia necessaria una piattaforma aperta. Android è intenzionalmente ed esplicitamente uno sforzo open source (in contrapposizione al software senza costi); un gruppo di organizzazioni con esigenze condivise ha messo insieme 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 personalizzare.

Naturalmente, una personalizzazione incontrollata 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ò usare il codice sorgente di Android per qualsiasi scopo e Google accetterà tutti gli usi legittimi. Tuttavia, per prendere parte all'ecosistema condiviso di applicazioni che i membri OHA stanno sviluppando su Android, i generatori di dispositivi devono partecipare al programma Android Compatibility.

AOSP è guidata da Google, che gestisce e sviluppa ulteriormente Android. Sebbene Android sia costituito da più sottoprogetti, AOSP si occupa strettamente della gestione dei progetti. Google considera e gestisce Android come un singolo prodotto software olistico, non come distribuzione, specifica o raccolta di parti sostituibili. L'intento di Google è che i generatori di dispositivi portino Android a un dispositivo, senza implementare una specifica né organizzare una distribuzione.

Passaggi successivi