Google 致力于为黑人社区推动种族平等。查看具体举措
Questa pagina è stata tradotta dall'API Cloud Translation.
Switch to English

Domande frequenti

Questa pagina fornisce le risposte ad alcune domande frequenti (FAQ).

Open Source

Cos'è il progetto Android Open Source?

Android Open Source Project (AOSP) si riferisce alle persone, ai processi e al codice sorgente che compongono Android.

Le persone supervisionano il progetto e sviluppano il codice sorgente. I processi sono gli strumenti e le procedure che utilizziamo per gestire lo sviluppo del software. Il risultato netto è il codice sorgente, che puoi utilizzare nei telefoni cellulari e altri dispositivi.

Perché abbiamo aperto il codice sorgente di Android?

Google ha avviato il progetto Android in risposta alle nostre esperienze di lancio di app mobili. Volevamo assicurarci che ci fosse sempre una piattaforma aperta disponibile per corrieri, OEM e sviluppatori da utilizzare per trasformare le loro idee innovative in realtà. Volevamo anche evitare qualsiasi punto centrale di fallimento, in modo che nessun singolo attore del settore potesse limitare o controllare le innovazioni di nessun altro. Il nostro obiettivo più importante con AOSP è assicurarsi che il software Android open source sia implementato nel modo più ampio e compatibile possibile, a vantaggio di tutti.

Che tipo di progetto open source è Android?

Google supervisiona lo sviluppo della piattaforma open source Android principale e lavora per creare solide comunità di sviluppatori e utenti. Per la maggior parte, il codice sorgente di Android è concesso in licenza con la licenza permissiva Apache 2.0, piuttosto che con una licenza copyleft . Abbiamo scelto la licenza Apache 2.0 perché riteniamo che incoraggia l'adozione diffusa del software Android. Per i dettagli, vedere Licenze .

Perché Google si occupa di Android?

Il lancio di una piattaforma software è complesso. L'apertura è fondamentale per il successo a lungo termine di una piattaforma, perché l'apertura attrae gli investimenti da parte degli sviluppatori e garantisce condizioni di parità. La piattaforma deve anche essere un prodotto convincente per gli utenti.

Google ha impegnato le risorse ingegneristiche professionali necessarie per garantire che Android sia una piattaforma software completamente competitiva. Google considera il progetto Android come un'operazione di sviluppo prodotto su vasta scala e raggiunge gli accordi commerciali necessari per assicurarsi che ottimi dispositivi con Android arrivino sul mercato.

Assicurandoci che Android sia un successo con gli utenti, contribuiamo a garantire la vitalità di Android come piattaforma e come progetto open source. Dopo tutto, chi vuole che il codice sorgente di un prodotto non abbia successo?

L'obiettivo di Google è garantire un ecosistema di successo attorno ad Android. Abbiamo aperto il codice sorgente di Android in modo che chiunque possa modificare e distribuire il software per soddisfare le proprie esigenze.

Qual è la strategia complessiva di Google per lo sviluppo di prodotti Android?

Rilasciamo ottimi dispositivi in ​​un mercato competitivo. Quindi incorporiamo le innovazioni e i miglioramenti che abbiamo apportato alla piattaforma principale come versione successiva.

In pratica, ciò significa che il team di ingegneri Android si concentra su un numero limitato di dispositivi "ammiraglia" e sviluppa la prossima versione del software Android per supportare quei lanci di prodotto. Questi dispositivi di punta assorbono gran parte del rischio del prodotto e aprono la strada alla vasta comunità OEM, che segue con più dispositivi che sfruttano le nuove funzionalità. In questo modo, ci assicuriamo che la piattaforma Android si evolva in base alle esigenze dei dispositivi del mondo reale.

Come viene sviluppato il software Android?

Ogni versione della piattaforma di Android (come 1.5 o 8.1) ha un ramo corrispondente nella struttura ad albero open source. Il ramo più recente è considerato la versione del ramo stabile corrente . Questo è il ramo che i produttori portano sui loro dispositivi. Questo ramo è sempre idoneo al rilascio.

Allo stesso tempo, c'è un ramo sperimentale attuale , che è il luogo in cui vengono sviluppati contributi speculativi, come le grandi funzionalità di prossima generazione. Correzioni di bug e altri contributi possono essere inclusi nel ramo stabile corrente dal ramo sperimentale a seconda dei casi.

Infine, Google lavora alla prossima versione della piattaforma Android in tandem con lo sviluppo di un dispositivo di punta. Questo ramo attira le modifiche dai rami sperimentali e stabili come appropriato.

Per i dettagli, vedere Codeline, Branches e Release .

Perché parti di Android vengono sviluppate in privato?

In genere ci vuole più di un anno per portare un dispositivo sul mercato. E, naturalmente, i produttori di dispositivi vogliono fornire il software più recente possibile. Nel frattempo, gli sviluppatori non vogliono monitorare costantemente le nuove versioni della piattaforma durante la scrittura di app. Entrambi i gruppi sperimentano una tensione tra i prodotti di spedizione e il non voler restare indietro.

Per risolvere questo problema, alcune parti della prossima versione di Android, comprese le API della piattaforma principale, vengono sviluppate in un ramo privato. Queste API costituiscono la prossima versione di Android. Il nostro obiettivo è focalizzare l'attenzione sull'attuale versione stabile del codice sorgente di Android mentre creiamo la prossima versione della piattaforma. Ciò consente agli sviluppatori e agli OEM di utilizzare un'unica versione senza tenere traccia del lavoro futuro incompiuto solo per tenere il passo. Altre parti del sistema Android che non sono correlate alla compatibilità delle applicazioni vengono sviluppate all'aperto. È nostra intenzione spostare più di queste parti per aprire lo sviluppo nel tempo.

Quando vengono rilasciati i codici sorgente?

Quando sono pronti. Il rilascio del codice sorgente è un processo abbastanza complesso. Alcune parti di Android sono sviluppate all'aperto e il codice sorgente è sempre disponibile. Altre parti vengono sviluppate prima in un albero privato e il codice sorgente viene rilasciato quando è pronta la versione successiva della piattaforma.

In alcune versioni, le API della piattaforma principale sono pronte con sufficiente anticipo in modo da poter distribuire il codice sorgente per una prima occhiata prima del rilascio del dispositivo. In altre versioni, questo non è possibile. In tutti i casi, rilasciamo il sorgente della piattaforma quando riteniamo che la versione sia stabile e quando il processo di sviluppo lo consente.

Cosa comporta il rilascio del codice sorgente per una nuova versione di Android?

Il rilascio del codice sorgente per una nuova versione della piattaforma Android è un processo significativo. In primo luogo, il software è integrato in un'immagine di sistema per un dispositivo e sottoposto a varie forme di certificazione, inclusa la certificazione normativa del governo per le regioni in cui verranno distribuiti i telefoni. Il codice viene inoltre sottoposto a test da parte dell'operatore. Questa è una fase importante del processo, perché aiuta a rilevare i bug del software.

Quando il rilascio è approvato dalle autorità di regolamentazione e dagli operatori, il produttore inizia a produrre dispositivi in ​​serie e iniziamo a rilasciare il codice sorgente.

Contemporaneamente alla produzione di massa, il team di Google dà il via a diversi sforzi per preparare la versione open source. Questi sforzi includono la modifica finale dell'API, l'aggiornamento della documentazione (per riflettere eventuali modifiche apportate durante i test di qualificazione, ad esempio), la preparazione di un SDK per la nuova versione e l'avvio delle informazioni sulla compatibilità della piattaforma.

Il nostro team legale fa un'ultima approvazione per rilasciare il codice in open source. Proprio come i contributori open source sono tenuti a firmare un Contratto di licenza per i contributori che attesti la proprietà intellettuale del loro contributo, Google deve verificare che la fonte sia autorizzata a fornire contributi.

Dal momento in cui inizia la produzione di massa, il processo di rilascio del software richiede in genere circa un mese, quindi il rilascio del codice sorgente spesso avviene all'incirca nello stesso momento in cui i dispositivi raggiungono gli utenti.

Che relazione c'è tra AOSP e il programma di compatibilità Android?

Il progetto Android Open Source mantiene il software Android e sviluppa nuove versioni. Poiché è open source, questo software può essere utilizzato per qualsiasi scopo, incluso lo sviluppo di dispositivi non compatibili con altri dispositivi basati sulla stessa fonte.

La funzione del programma di compatibilità Android è definire un'implementazione di base di Android compatibile con app di terze parti scritte dagli sviluppatori. I dispositivi compatibili con Android possono far parte dell'ecosistema Android, incluso Google Play; i dispositivi che non soddisfano i requisiti di compatibilità esistono al di fuori di tale ecosistema.

In altre parole, il programma di compatibilità Android è il modo in cui separiamo i dispositivi compatibili con Android dai dispositivi che eseguono semplicemente derivati ​​del codice sorgente. Accogliamo con favore tutti gli usi del codice sorgente Android, ma per partecipare all'ecosistema Android, un dispositivo deve essere identificato come compatibile con Android dal programma.

Come posso contribuire ad Android?

Puoi segnalare bug, scrivere app per Android o contribuire con codice sorgente al progetto Android Open Source.

Esistono limiti ai tipi di contributi di codice che accettiamo. Ad esempio, qualcuno potrebbe voler contribuire con un'API dell'applicazione alternativa, come un ambiente completo basato su C ++. Declineremmo questo contributo, perché Android incoraggia l'esecuzione delle applicazioni nel runtime ART. Allo stesso modo, non accetteremo contributi come librerie GPL o LGPL che sono incompatibili con i nostri obiettivi di licenza.

Invitiamo coloro che sono interessati a contribuire con il codice sorgente a contattarci tramite i canali elencati nella pagina della community Android prima di iniziare qualsiasi lavoro. Per i dettagli, vedere Contribuire .

Come posso diventare un committer Android?

Il progetto Android Open Source non ha davvero la nozione di un committer . Tutti i contributi (compresi quelli scritti dai dipendenti di Google) passano attraverso un sistema basato sul Web noto come Gerrit che fa parte del processo di progettazione di Android. Questo sistema funziona in tandem con il sistema di gestione del codice sorgente git per gestire in modo pulito i contributi del codice sorgente.

Una volta inviate, le modifiche devono essere accettate da un approvatore designato. Gli approvatori sono in genere dipendenti di Google, ma gli stessi approvatori sono responsabili di tutti gli invii, indipendentemente dall'origine.

Per i dettagli, vedere Invio di patch .

Torna in cima

Compatibilità

Cos'è la "compatibilità" Android?

Definiamo un dispositivo compatibile con Android come un dispositivo che può eseguire qualsiasi applicazione scritta da sviluppatori di terze parti utilizzando Android SDK e NDK. Lo usiamo come filtro per separare i dispositivi che possono far parte dell'ecosistema delle app Android e quelli che non possono farlo. Per i dispositivi adeguatamente compatibili, i produttori di dispositivi possono richiedere l'approvazione per utilizzare il marchio Android. I dispositivi che non sono compatibili derivano semplicemente dal codice sorgente di Android e potrebbero non utilizzare il marchio Android.

In altre parole, la compatibilità è un prerequisito per partecipare all'ecosistema delle app Android. Chiunque può utilizzare il codice sorgente di Android. Ma se il dispositivo non è compatibile, non è considerato parte dell'ecosistema Android.

Qual è il ruolo di Google Play nella compatibilità?

I produttori di dispositivi con dispositivi compatibili con Android possono cercare di ottenere la licenza per il software client di Google Play. I dispositivi con licenza diventano parte dell'ecosistema di app Android, consentendo ai propri utenti di scaricare le app degli sviluppatori da un catalogo condiviso da tutti i dispositivi compatibili. La licenza non è disponibile per i dispositivi incompatibili.

Quali tipi di dispositivi possono essere compatibili con Android?

Il software Android può essere trasferito su molti dispositivi diversi, inclusi alcuni su cui le app di terze parti non funzioneranno correttamente. Il documento di definizione della compatibilità Android (CDD) specifica le configurazioni specifiche del dispositivo che sono considerate compatibili.

Ad esempio, sebbene il codice sorgente di Android possa essere convertito per essere eseguito su un telefono che non dispone di una fotocamera, il CDD richiede che tutti i telefoni abbiano una fotocamera. Ciò consente agli sviluppatori di fare affidamento su un insieme coerente di funzionalità durante la scrittura delle proprie app.

Il CDD continua ad evolversi per riflettere le realtà del mercato. Ad esempio, la versione 1.6 del CDD supporta solo i telefoni cellulari. Ma la versione 2.1 consente ai dispositivi di omettere l'hardware di telefonia, consentendo la compatibilità di dispositivi non telefonici come i lettori musicali in stile tablet. Man mano che apportiamo queste modifiche, aumenteremo anche Google Play per consentire agli sviluppatori di mantenere il controllo su dove sono disponibili le loro app. Per continuare l'esempio di telefonia, un'app che gestisce i messaggi di testo SMS non è utile su un lettore multimediale, quindi Google Play consente allo sviluppatore di limitare l'app esclusivamente ai dispositivi telefonici.

Se il mio dispositivo è compatibile, ha automaticamente accesso a Google Play e al marchio?

No. L'accesso non è automatico. Google Play è un servizio gestito da Google. Il raggiungimento della compatibilità è un prerequisito per ottenere l'accesso al software e al marchio Google Play. Dopo che un dispositivo è stato qualificato come dispositivo compatibile con Android , il produttore del dispositivo deve completare il modulo di contatto incluso nella licenza di Google Mobile Services per richiedere l'accesso a Google Play. Ci metteremo in contatto se possiamo aiutarti.

Se non sono un produttore, come posso ottenere Google Play?

Google Play è concesso in licenza solo ai dispositivi di spedizione dei produttori di cellulari. Per domande su casi specifici, contatta android-partnerships@google.com .

Come posso accedere alle app Google per Android, come Maps?

Le app Google per Android, come YouTube, Google Maps e Gmail sono proprietà di Google che non fanno parte di Android e sono concesse in licenza separatamente. Contatta android-partnerships@google.com per domande relative a queste app.

La compatibilità è obbligatoria?

No. Il programma di compatibilità Android è opzionale. Il codice sorgente di Android è aperto, quindi chiunque può utilizzarlo per creare qualsiasi tipo di dispositivo. Tuttavia, se i produttori desiderano utilizzare il nome Android con i loro prodotti o desiderano accedere a Google Play, devono prima dimostrare che i loro dispositivi sono compatibili .

Quanto costa la certificazione di compatibilità?

Non sono previsti costi per ottenere la compatibilità Android per un dispositivo. La Compatibility Test Suite è open source e disponibile a chiunque per il test del dispositivo.

Quanto tempo richiede la compatibilità?

Il processo è automatizzato. La Compatibility Test Suite genera un rapporto che può essere fornito a Google per verificare la compatibilità. Alla fine intendiamo fornire strumenti self-service per caricare questi rapporti su un database pubblico.

Chi determina la definizione di compatibilità?

Google è responsabile della direzione generale di Android come piattaforma e prodotto, quindi Google mantiene il documento di definizione di compatibilità (CDD) per ogni versione. Redigiamo il CDD per una nuova versione di Android in consultazione con vari OEM che forniscono input.

Per quanto tempo ogni versione di Android sarà supportata per i nuovi dispositivi?

Il codice di Android è open source, quindi non possiamo impedire a qualcuno di utilizzare una vecchia versione per avviare un dispositivo. Invece, Google sceglie di non concedere in licenza il software client Google Play per l'utilizzo su versioni considerate obsolete. Ciò consente a chiunque di continuare a fornire vecchie versioni di Android, ma quei dispositivi non useranno il nome Android e non esistono al di fuori dell'ecosistema delle app Android, proprio come se non fossero compatibili.

Un dispositivo può avere un'interfaccia utente diversa ed essere comunque compatibile?

Il programma di compatibilità Android determina se un dispositivo può eseguire applicazioni di terze parti. I componenti dell'interfaccia utente forniti con un dispositivo (come la schermata iniziale, il dialer e la combinazione di colori) generalmente non hanno molto effetto sulle app di terze parti. Pertanto, i produttori di dispositivi sono liberi di personalizzare l'interfaccia utente. Il documento di definizione della compatibilità limita il grado in cui gli OEM possono alterare l'interfaccia utente del sistema per le aree che hanno un impatto sulle app di terze parti.

Quando vengono rilasciate le definizioni di compatibilità per le nuove versioni di Android?

Il nostro obiettivo è rilasciare una nuova versione del documento CDD (Compatibility Definition Document) Android quando la corrispondente versione della piattaforma Android è convergente abbastanza da consentirlo. Anche se non possiamo rilasciare una bozza finale di un CDD per una versione del software Android prima che il primo dispositivo di punta venga spedito con quel software, i CDD finali vengono sempre rilasciati dopo il primo dispositivo. Tuttavia, ovunque sia pratico, rilasciamo versioni bozza di CDD.

Come vengono convalidate le dichiarazioni di compatibilità dei produttori di dispositivi?

Non esiste un processo di convalida per la compatibilità del dispositivo Android. Tuttavia, se il dispositivo deve includere Google Play, Google in genere convalida la compatibilità del dispositivo prima di accettare la licenza del software client di Google Play.

Cosa succede se successivamente si scopre che un dispositivo che dichiara la compatibilità presenta problemi di compatibilità?

In genere, i rapporti di Google con i licenziatari di Google Play ci consentono di chiedere al produttore del dispositivo di rilasciare immagini di sistema aggiornate che risolvono i problemi.

Torna in cima

Suite di test di compatibilità

Qual è lo scopo del CTS?

Compatibility Test Suite è uno strumento utilizzato dai produttori di dispositivi per garantire che i loro dispositivi siano compatibili e per segnalare i risultati dei test per le convalide. Il CTS deve essere eseguito frequentemente dagli OEM durante il processo di progettazione per rilevare tempestivamente i problemi di compatibilità.

Che tipo di cose verifica il CTS?

Il CTS attualmente verifica che tutte le API Android con tipizzazione forte supportate siano presenti e funzionino correttamente. Verifica anche altri comportamenti del sistema non API come il ciclo di vita e le prestazioni dell'applicazione. Abbiamo in programma di aggiungere il supporto nelle future versioni di CTS per testare API soft come Intents.

I rapporti CTS saranno resi pubblici?

Sì. Sebbene non sia attualmente implementato, Google intende fornire strumenti self-service basati sul Web per consentire agli OEM di pubblicare rapporti CTS in modo che chiunque possa visualizzarli. I produttori possono condividere i rapporti CTS con il vasto pubblico che desiderano.

Come viene concesso in licenza il CTS?

Il CTS è concesso in licenza con la stessa licenza software Apache 2.0 utilizzata dalla maggior parte di Android.

Il CTS accetta contributi?

Sì grazie! Il progetto Android Open Source accetta contributi per migliorare il CTS come per qualsiasi altro componente. In effetti, migliorare la copertura e la qualità dei casi di test CTS è uno dei modi migliori per aiutare Android.

Chiunque può utilizzare il CTS su dispositivi esistenti?

Il documento di definizione della compatibilità richiede che i dispositivi compatibili implementino l'utilità di debug adb . Ciò significa che qualsiasi dispositivo compatibile (compresi quelli disponibili al dettaglio) deve essere in grado di eseguire i test CTS.

I codec sono verificati da CTS?

Sì. Tutti i codec obbligatori sono verificati da CTS.

Torna in cima