Configurazione per lo sviluppo AOSP (2.3 - 8.0)

Questa pagina spiega come configurare lo sviluppo con Android 8.0 o versioni precedenti. Per scoprire come creare app per Android 9.0 e versioni successive, consulta Configurare lo sviluppo AOSP.

Configurazione per lo sviluppo AOSP (5.0 - 8.0)

Per Android 5.0-8.0, valuta la possibilità di utilizzare il Dockerfile incluso per semplificare l'installazione di tutti i pacchetti richiesti.

Sistemi operativi

Android è in genere creato con GNU Linux. È anche possibile creare Android in una macchina virtuale su sistemi non supportati come Mac OS X.

Google consiglia di eseguire la compilazione su GNU Linux. Il sistema di compilazione Android esegue normalmente ART sulla macchina di compilazione per precompilare i file DEX di sistema. ART può essere eseguito solo su Linux, quindi il sistema di compilazione salta questo passaggio di precompilazione su sistemi operativi non Linux, con conseguente compilazione di Android con prestazioni ridotte.

GNU Linux

  • Android 6.0 - Android 8.0: Ubuntu 14.04 (Trusty)
  • Android 5.x: Ubuntu 12.0

Mac OS X (Intel/x86)

  • Android 6.0 - AOSP 8.0: Mac OS X v10.10 (Yosemite) o versioni successive con Xcode 4.5.2 e Command Line Tools
  • Android 5.x: Mac OS X v10.8 (Mountain Lion) con Xcode 4.5.2 e Command Line Tools

JDK

Configurazione per lo sviluppo AOSP (2.3 - 4.4)

Questa sezione fornisce alcune indicazioni su come configurare Android 2.3 fino ad Android 4.4.

Sistemi operativi

Android è in genere creato con GNU Linux. È anche possibile creare Android in una macchina virtuale su sistemi non supportati come Windows.

Google consiglia di eseguire la compilazione su GNU Linux. Il sistema di compilazione Android esegue normalmente ART sulla macchina di compilazione per precompilare i file DEX di sistema. ART può essere eseguito solo su Linux, quindi il sistema di compilazione salta questo passaggio di precompilazione su sistemi operativi non Linux, con conseguente compilazione di Android con prestazioni ridotte.

GNU Linux

  • Android 2.3.x - Android 4.4: Ubuntu 12.04 (Precise)

Mac OS X (Intel/x86)

  • Android 4.1.x - Android 4.4.x: Mac OS X v10.6 (Snow Leopard) o Mac OS X v10.7 (Lion) e Xcode 4.2 (Apple Developer Tools)
  • Android 2.3 - Android 4.0.x: Mac OS X v10.5 (Leopard) o Mac OS X v10.6 (Snow Leopard) e Mac OS X v10.5 SDK

GNU make

Per Android 4.1.x-4.4, utilizza GNU make (gmake) 3.82. Per Android 2.3-4.0.x, ripristina gmake 3.82 per evitare errori di compilazione.

Xcode e altri pacchetti

Per Mac OS X v10.8 o versioni precedenti, installa Xcode dal sito per sviluppatori Apple. Se non sei già registrato come sviluppatore Apple, devi creare un ID Apple per eseguire il download.

Se utilizzi Mac OS X v10.4, installa anche Bison:

POSIXLY_CORRECT=1 sudo port install bison

Per MacPorts, esegui:

POSIXLY_CORRECT=1 sudo port install gmake libsdl git gnupg

Per Homebrew, problema:

brew install gmake libsdl git gnupg2

Ripristinare gmake 3.82

In Android 4.0.x e versioni precedenti, gmake 3.82 ha un bug che impedisce la compilazione di Android. Puoi installare la versione 3.81 utilizzando MacPorts seguendo questi passaggi:

  1. Modifica /opt/local/etc/macports/sources.conf e aggiungi file:///Users/Shared/dports sopra la riga rsync.

  2. Crea la directory dports:

    mkdir /Users/Shared/dports
    
  3. Nella nuova directory dports, esegui:

    svn co --revision 50980 http://svn.macports.org/repository/macports/trunk/dports/devel/gmake/ devel/gmake/
    
  4. Crea un indice delle porte per il nuovo repository locale:

    portindex /Users/Shared/dports
    
  5. Installa la versione precedente di gmake:

    sudo port install gmake @3.81
    

JDK

JDK per Linux

L'Android Open Source Project (AOSP) include versioni precompilate di OpenJDK in prebuilts/jdk/, quindi non è richiesta alcuna installazione aggiuntiva.

Le versioni precedenti di Android richiedono un'installazione separata di JDK. Su Ubuntu, utilizza OpenJDK

Per Ubuntu 15.04 e versioni successive

Esegui questo comando:

sudo apt-get update
sudo apt-get install openjdk-8-jdk

Per Ubuntu LTS 14.04

Non sono disponibili pacchetti OpenJDK 8 supportati per Ubuntu 14.04. I pacchetti Ubuntu 15.04 OpenJDK 8 sono stati utilizzati correttamente con Ubuntu 14.04. Le versioni dei pacchetti più recenti (ad esempio quelle per 15.10, 16.04) non funzionano su 14.04 utilizzando le seguenti istruzioni.

  1. Scarica i pacchetti .deb per l'architettura a 64 bit da old-releases.ubuntu.com

    • openjdk-8-jre-headless_8u45-b14-1_amd64.deb con SHA256 0f5aba8db39088283b51e00054813063173a4d8809f70033976f83e214ab56c0
    • openjdk-8-jre_8u45-b14-1_amd64.deb con SHA256 9ef76c4562d39432b69baf6c18f199707c5c56a5b4566847df908b7d74e15849
    • openjdk-8-jdk_8u45-b14-1_amd64.deb con SHA256 6e47215cf6205aa829e6a0a64985075bd29d1f428a4006a80c9db371c2fc3c4c
  2. (Facoltativo) Verifica i checksum dei file scaricati rispetto alla stringa SHA256 elencata con ogni pacchetto del passaggio 1. Ad esempio, con lo strumento sha256sum:

    sha256sum {downloaded.deb file}
    
  3. Installa i pacchetti:

    sudo apt-get update
    
  4. Esegui dpkg per ciascuno dei file .deb che hai scaricato. Potrebbe generare errori a causa di dipendenze mancanti:

    sudo dpkg -i {downloaded.deb file}
    
  5. Per correggere le dipendenze mancanti:

    sudo apt-get -f install
    

(Facoltativo) Aggiorna la versione Java predefinita

(Facoltativo) Per le versioni di Ubuntu menzionate in precedenza, aggiorna la versione predefinita di Java eseguendo:

sudo update-alternatives --config java
sudo update-alternatives --config javac

Installa i pacchetti richiesti per Ubuntu 14.04

Esegui i seguenti comandi per installare i pacchetti richiesti per Ubuntu 14.04:

$ sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev-i386 libncurses5 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev libgl1-mesa-dev libxml2-utils xsltproc unzip$

Installa i pacchetti richiesti per Ubuntu 12.04

Esegui i seguenti comandi per installare i pacchetti richiesti per Ubuntu 12.04:

$ sudo apt-get install git gnupg flex bison gperf build-essential zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 libgl1-mesa-dev mingw32 tofrodos python-markdown libxml2-utils xsltproc zlib1g-dev:i386

sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so