A partire dal 27 marzo 2025, ti consigliamo di utilizzare android-latest-release
anziché aosp-main
per compilare e contribuire ad AOSP. Per ulteriori informazioni, vedi Modifiche ad AOSP.
Panoramica di AOSP
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
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 che non esista un punto di errore centrale 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
personalizzazione e porting.
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 (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 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 chi lavora 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, virtualizzato 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 e l'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 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. 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 è necessario 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 da parte di altri.
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 questo contributo perché Android
incoraggia l'esecuzione delle applicazioni nel runtime ART. Allo stesso modo, Google non accetta contributi come le librerie GPL o LGPL incompatibili con gli scopi di licenza.
Se ti interessa contribuire con 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 di 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 tutto il 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 system-on-a-chip (SoC).
- 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_only_phone-userdebug
rappresenta uno smartphone x86 da 65 MB con informazioni di debug progettate per essere eseguite sull'emulatore cuttlefish.
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 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, una personalizzazione non controllata può portare a implementazioni incompatibili.
Per evitare incompatibilità, Android Open Source Project (AOSP) gestisce il Programma di compatibilità Android, che definisce cosa significa essere compatibile 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 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 è guidato 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
I campioni di contenuti e codice in questa pagina sono soggetti alle licenze descritte nella Licenza per i contenuti. Java e OpenJDK sono marchi o marchi registrati di Oracle e/o delle sue società consociate.
Ultimo aggiornamento 2025-07-27 UTC.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Mancano le informazioni di cui ho bisogno","missingTheInformationINeed","thumb-down"],["Troppo complicato/troppi passaggi","tooComplicatedTooManySteps","thumb-down"],["Obsoleti","outOfDate","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Problema relativo a esempi/codice","samplesCodeIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2025-07-27 UTC."],[],[],null,["# AOSP overview\n\n*Android* is an operating system for a wide array of devices with different\nform factors. The documentation and source code for Android is available to\nanyone as the *Android Open Source Project (AOSP)*. You can use\nAOSP to create custom variants of the Android OS for your own devices.\n\nAOSP is designed so that there's no central point of failure, where one\nindustry player restricts or controls the innovations of another. Therefore,\nAOSP is a full, production-quality developer product with source code open for\ncustomization and porting.\n\nThis section of documentation helps new AOSP developers get started with the\nplatform and to perform essential development tasks.\n\nRequired terms\n--------------\n\nFollowing is a list of terms and definitions used throughout the Getting\nStarted documentation. You should study each definition before continuing\nfurther.\n\n*Android app developer*\n\n: Android app developers writes *Android apps* or applications that run on\n Android. There are two classification of app developers: first-party (1p) and\n third-party (3p) app developers.\n\n *Android first-party app developer*\n : An Android app developer that has access to AOSP System APIs and writes\n privileged and device manufacturer apps.\n\n *Android third-party app developer*\n : An Android app developer who solely uses Android's public SDK to create\n Android apps.\n\nIf you want to develop third-party apps for Android, refer to\n[`developers.android.com`](https://developer.android.com/). The information on\nthis website is solely for those working directly with AOSP.\n\n*Android debug bridge (adb)*\n: A command-line tool (`adb`) that allows your workstation communicate with a\n virtual, software-emulated, or physical device.\n\n*Android-compatible device*\n: A device that can run any third-party app written by third-party developers\n using the Android SDK and NDK. Android-compatible devices must adhere to the\n requirements of the\n [Compatibility Definition Document (CDD)](#cdd) and pass the\n [Compatibility Test Suite (CTS)](#cts). Android-compatible\n devices are eligible to participate in the Android ecosystem which includes\n potential licensure of the Android Play Store, potential licensure the\n [Google Mobile Services (GMS)](#gms) suite of\n applications and APIs, and use of the Android trademark. Anyone is welcome to\n use the Android source code, but to be considered part of the Android ecosystem,\n a device must be Android-compatible. For further information on compatibility\n and CTS, see the\n [Android Compatibility Program overview](/docs/compatibility/overview)\n\n*Compatibility Definition Document (CDD)*\n: A document that enumerates the software and hardware requirements for an\n Android-compatible device.\n\n*Contributor*\n\n: A person who makes contributions to the AOSP source code. Contributors\n can be employees of Google, employees from other companies, and individuals\n with no company affiliation. Every AOSP contributor uses the same tools, follows\n the same code review process, and is subject to the same coding style. You\n don't have to be a contributor to use AOSP; you can download AOSP,\n modify it for your own needs, and deploy it on a device without contributing\n code for others to use.\n\n There are limits to the type of code contributions Google accepts. For example,\n you might want to contribute an alternative application API, such as a full\n C++-based environment. Google would decline that contribution because Android\n encourages applications to be run in the ART runtime. Similarly, Google doesn't\n accept contributions such as GPL or LGPL libraries that are incompatible with\n licensing goals.\n\n If you are interested in contributing source code,\n [contact Google](/docs/setup/community) prior to beginning work.\n\n*Compatibility Test Suite (CTS)*\n\n: A free, commercial-grade test suite, available for download as a binary or as\n source in AOSP. The CTS is a set of unit tests designed to be integrated into\n your daily workflow. CTS's intent is to reveal incompatibilities, and ensure\n that the software remains compatible throughout the development process.\n\n*Cuttlefish*\n\n: A configurable virtual Android-powered device that can run remotely, using\n third-party cloud offerings, such as Google Cloud Engine, and locally on Linux\n x86 machines.\n\n*Developer*\n\n: In the context of AOSP, a developer is anyone who works with AOSP in any\n way. The term \"developer\" is used to generically refer to the various people who\n might read this documentation, such as original equipment manufacturers\n (OEMs), handset makers, carriers, and System-on-a-Chip (SoC) creators.\n\n*Google Mobile Services (GMS)*\n\n: A collection of Google apps and APIs that can be pre-installed on devices.\n\n*Target*\n\n: A permutation of a device, such as a specific model or form factor. For\n example, `aosp_cf_x86_64_only_phone-userdebug` represents a x86 65MB phone with\n debugging information that is designed to run on the cuttlefish emulator.\n\nGovernance philosophy\n---------------------\n\nA group of companies known as the Open Handset Alliance (OHA), led by Google,\noriginated Android. Today, many companies---both original members of the OHA and\nothers---have invested heavily in Android. These companies have allocated\nsignificant engineering resources to improve Android and bring Android devices\nto market.\n\nThe companies that have invested in Android have done so because they believe an\nopen platform is necessary. Android is intentionally and explicitly an open\nsource effort (as opposed to free software); a group of organizations with\nshared needs has pooled resources to collaborate on a single implementation of a\nshared product. First and foremost, the Android philosophy is pragmatic. The\nobjective is a shared product that each contributor can tailor and customize.\n\nOf course, uncontrolled customization can lead to incompatible implementations.\nTo prevent incompatibility, the Android Open Source Project (AOSP) maintains\nthe\n[Android Compatibility program](/docs/compatibility/overview),\nwhich spells out what it means to be Android-compatible and what's required of\ndevice builders to achieve that status. Anyone can use the Android source code\nfor any purpose, and Google welcomes all legitimate uses. However, to take part\nin the shared ecosystem of applications OHA members are building around Android,\ndevice builders must participate in the Android Compatibility program.\n\nAOSP is led by Google, who maintains and further develops Android. Although\nAndroid consists of multiple subprojects, AOSP is strictly project management.\nGoogle views and manage Android as a single, holistic software product, not a\ndistribution, specification, or collection of replaceable parts. Google's intent\nis that device builders port Android to a device; they don't implement a\nspecification or curate a distribution.\n\nWhat's next?\n------------\n\n- If you're new to AOSP and want to run through a tutorial on AOSP\n development, proceed with [AOSP tutorial](/docs/setup/start).\n\n- If you believe that your device needs to be Android-compatible, refer to the\n [Android Compatibility program](/docs/compatibility/overview).\n\n- If you want to learn about the background of AOSP, including Google's\n participation in the platform, see\n [AOSP frequently asked questions](/docs/setup/about/faqs)."]]