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
Android 7.0 - Android 8.0:
- Ubuntu: OpenJDK 8
- Mac OS X: JDK 8u45 o versioni successive
Android 5.x (Lollipop) - Android 6.0 (Marshmallow):
- Ubuntu: OpenJDK 7
- Mac OS X: jdk-7u71-macosx-x64.dmg
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:
Modifica
/opt/local/etc/macports/sources.conf
e aggiungifile:///Users/Shared/dports
sopra la rigarsync
.Crea la directory
dports
:mkdir /Users/Shared/dports
Nella nuova directory
dports
, esegui:svn co --revision 50980 http://svn.macports.org/repository/macports/trunk/dports/devel/gmake/ devel/gmake/
Crea un indice delle porte per il nuovo repository locale:
portindex /Users/Shared/dports
Installa la versione precedente di gmake:
sudo port install gmake @3.81
JDK
- Android 2.3.x - Android 4.4.x:
- Ubuntu: Java JDK 6
- Mac OS X: Java JDK 6
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.
Scarica i pacchetti
.deb
per l'architettura a 64 bit da old-releases.ubuntu.comopenjdk-8-jre-headless_8u45-b14-1_amd64.deb
con SHA2560f5aba8db39088283b51e00054813063173a4d8809f70033976f83e214ab56c0
openjdk-8-jre_8u45-b14-1_amd64.deb
con SHA2569ef76c4562d39432b69baf6c18f199707c5c56a5b4566847df908b7d74e15849
openjdk-8-jdk_8u45-b14-1_amd64.deb
con SHA2566e47215cf6205aa829e6a0a64985075bd29d1f428a4006a80c9db371c2fc3c4c
(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}
Installa i pacchetti:
sudo apt-get update
Esegui
dpkg
per ciascuno dei file.deb
che hai scaricato. Potrebbe generare errori a causa di dipendenze mancanti:sudo dpkg -i {downloaded.deb file}
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