Panoramica AOSP, panoramica AOSP

Android è un sistema operativo per un'ampia gamma di dispositivi con diversi fattori di forma. La documentazione e il codice sorgente per Android sono disponibili a 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 tale che non vi sia alcun punto centrale di fallimento, 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 alla personalizzazione e al porting.

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

Termini richiesti

Di seguito è riportato un elenco di termini e definizioni utilizzati in questa documentazione introduttiva. Dovresti studiare ogni definizione prima di continuare oltre.

Sviluppatore di app Android

Gli sviluppatori di app Android scrivono app o applicazioni Android che vengono eseguite su Android. Esistono due classificazioni di sviluppatori di app: sviluppatori di app di prima parte (1p) e di terze parti (3p).

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

Se desideri sviluppare app 3p per Android, fai riferimento a developers.android.com . Le informazioni su questo sito Web sono destinate esclusivamente a coloro che lavorano direttamente con AOSP.

Bridge di debug Android (ADB)
Uno strumento da riga di comando ( adb ) che consente alla tua workstation di comunicare con un dispositivo virtuale, emulato dal 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 Android SDK 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 partecipare all'ecosistema Android che include la potenziale licenza del Play Store di Android, la potenziale licenza della suite di applicazioni e API Google Mobile Services (GMS) e l'uso del marchio Android. Chiunque è libero di utilizzare il codice sorgente Android, ma per essere considerato parte dell'ecosistema Android, un dispositivo deve essere compatibile con Android. Per ulteriori informazioni sulla compatibilità e CTS, consultare la panoramica del programma di compatibilità Android
Approvatore
Membri esperti della comunità AOSP che hanno apportato significativi contributi tecnici e di progettazione alla piattaforma. Nel processo di revisione del codice, un approvatore decide se includere una modifica. I responsabili del progetto (che in genere sono impiegati da Google) scelgono gli approvatori, a volte promuovendo i verificatori alle posizioni di approvatore quando dimostrano competenza su una parte specifica di AOSP.
Documento di definizione della compatibilità (CDD)
Un documento che enumera i requisiti software e hardware per un dispositivo compatibile con Android.
Collaboratore

Una persona che contribuisce anche al codice sorgente AOSP. I contributori possono essere dipendenti di Google, dipendenti di altre società e individui 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 codifica. Non è necessario essere un collaboratore per utilizzare AOSP; puoi scaricare AOSP, modificarlo in base alle tue esigenze e distribuirlo su un dispositivo senza fornire codice che altri possano utilizzare.

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

Se sei interessato a contribuire con il codice sorgente, contatta Google prima di iniziare il lavoro.

Suite di test di compatibilità (CTS)

Una suite di test gratuita di livello commerciale, disponibile per il download come binario o come sorgente in AOSP. Il CTS è un insieme di test unitari progettati per essere integrati nel flusso di lavoro quotidiano. L'intento di CTS è quello di rivelare le 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 riferirsi genericamente alle varie persone che potrebbero leggere questa documentazione, come produttori di apparecchiature originali (OEM), produttori di telefoni, operatori e creatori di System-on-a-Chip (SoC).

Servizi mobili Google (GMS)

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

Bersaglio

Una permutazione di un dispositivo, come un modello o un fattore di forma specifico. Ad esempio, aosp_cf_x86_64_phone-userdebug rappresenta un telefono x86 da 65 MB con informazioni di debug progettato per essere eseguito sull'emulatore seppia.

Verificatore

Un prezioso collaboratore della community Android che scarica e verifica le modifiche ad AOSP. Dopo aver inviato una quantità significativa di codice di alta qualità ad AOSP, i responsabili del progetto potrebbero invitarti a diventare un verificatore.

Filosofia della 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 che altre, hanno investito molto in Android. Queste aziende hanno stanziato ingenti risorse tecniche per migliorare Android e immettere sul mercato i dispositivi Android.

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 (al contrario del software libero); un gruppo di organizzazioni con esigenze condivise ha messo in comune le risorse per collaborare su un'unica implementazione di un prodotto condiviso. Innanzitutto, la filosofia di Android è pragmatica. L'obiettivo è un prodotto condiviso che ciascun contributore può personalizzare e personalizzare.

Naturalmente, una personalizzazione incontrollata può portare a implementazioni incompatibili. Per prevenire l'incompatibilità, Android Open Source Project (AOSP) mantiene il programma di compatibilità Android , che spiega cosa significa essere compatibile con Android e cosa è richiesto ai costruttori di dispositivi per raggiungere tale stato. Chiunque può utilizzare il codice sorgente di Android per qualsiasi scopo e Google accoglie con favore tutti gli usi legittimi. Tuttavia, per prendere parte all'ecosistema condiviso di applicazioni che i membri dell'OHA stanno creando attorno ad Android, i costruttori di dispositivi devono partecipare al programma di compatibilità Android.

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

Qual è il prossimo?

,

Android è un sistema operativo per un'ampia gamma di dispositivi con diversi fattori di forma. La documentazione e il codice sorgente per Android sono disponibili a 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 tale che non vi sia alcun punto centrale di fallimento, 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 alla personalizzazione e al porting.

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

Termini richiesti

Di seguito è riportato un elenco di termini e definizioni utilizzati in questa documentazione introduttiva. Dovresti studiare ogni definizione prima di continuare oltre.

Sviluppatore di app Android

Gli sviluppatori di app Android scrivono app o applicazioni Android che vengono eseguite su Android. Esistono due classificazioni di sviluppatori di app: sviluppatori di app di prima parte (1p) e di terze parti (3p).

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

Se desideri sviluppare app 3p per Android, fai riferimento a developers.android.com . Le informazioni su questo sito Web sono destinate esclusivamente a coloro che lavorano direttamente con AOSP.

Bridge di debug Android (ADB)
Uno strumento da riga di comando ( adb ) che consente alla tua workstation di comunicare con un dispositivo virtuale, emulato dal 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 Android SDK 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 partecipare all'ecosistema Android che include la potenziale licenza del Play Store di Android, la potenziale licenza della suite di applicazioni e API Google Mobile Services (GMS) e l'uso del marchio Android. Chiunque è libero di utilizzare il codice sorgente Android, ma per essere considerato parte dell'ecosistema Android, un dispositivo deve essere compatibile con Android. Per ulteriori informazioni sulla compatibilità e CTS, consultare la panoramica del programma di compatibilità Android
Approvatore
Membri esperti della comunità AOSP che hanno apportato significativi contributi tecnici e di progettazione alla piattaforma. Nel processo di revisione del codice, un approvatore decide se includere una modifica. I responsabili del progetto (che in genere sono impiegati da Google) scelgono gli approvatori, a volte promuovendo i verificatori alle posizioni di approvatore quando dimostrano competenza su una parte specifica di AOSP.
Documento di definizione della compatibilità (CDD)
Un documento che enumera i requisiti software e hardware per un dispositivo compatibile con Android.
Collaboratore

Una persona che contribuisce anche al codice sorgente AOSP. I contributori possono essere dipendenti di Google, dipendenti di altre società e individui 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 codifica. Non è necessario essere un collaboratore per utilizzare AOSP; puoi scaricare AOSP, modificarlo in base alle tue esigenze e distribuirlo su un dispositivo senza fornire codice che altri possano utilizzare.

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

Se sei interessato a contribuire con il codice sorgente, contatta Google prima di iniziare il lavoro.

Suite di test di compatibilità (CTS)

Una suite di test gratuita di livello commerciale, disponibile per il download come binario o come sorgente in AOSP. Il CTS è un insieme di test unitari progettati per essere integrati nel flusso di lavoro quotidiano. L'intento di CTS è quello di rivelare le 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 riferirsi genericamente alle varie persone che potrebbero leggere questa documentazione, come produttori di apparecchiature originali (OEM), produttori di telefoni, operatori e creatori di System-on-a-Chip (SoC).

Servizi mobili Google (GMS)

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

Bersaglio

Una permutazione di un dispositivo, come un modello o un fattore di forma specifico. Ad esempio, aosp_cf_x86_64_phone-userdebug rappresenta un telefono x86 da 65 MB con informazioni di debug progettato per essere eseguito sull'emulatore seppia.

Verificatore

Un prezioso collaboratore della community Android che scarica e verifica le modifiche ad AOSP. Dopo aver inviato una quantità significativa di codice di alta qualità ad AOSP, i responsabili del progetto potrebbero invitarti a diventare un verificatore.

Filosofia della 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 che altre, hanno investito molto in Android. Queste aziende hanno stanziato ingenti risorse tecniche per migliorare Android e immettere sul mercato i dispositivi Android.

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 (al contrario del software libero); un gruppo di organizzazioni con esigenze condivise ha messo in comune le risorse per collaborare su un'unica implementazione di un prodotto condiviso. Innanzitutto, la filosofia di Android è pragmatica. L'obiettivo è un prodotto condiviso che ciascun contributore può personalizzare e personalizzare.

Naturalmente, una personalizzazione incontrollata può portare a implementazioni incompatibili. Per prevenire l'incompatibilità, Android Open Source Project (AOSP) mantiene il programma di compatibilità Android , che spiega cosa significa essere compatibile con Android e cosa è richiesto ai costruttori di dispositivi per raggiungere tale stato. Chiunque può utilizzare il codice sorgente di Android per qualsiasi scopo e Google accoglie con favore tutti gli usi legittimi. Tuttavia, per prendere parte all'ecosistema condiviso di applicazioni che i membri dell'OHA stanno creando attorno ad Android, i costruttori di dispositivi devono partecipare al programma di compatibilità Android.

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

Qual è il prossimo?