Na tej stronie omówiono sposób konfiguracji do programowania z systemem Android 8.0 lub starszymi wersjami. Aby dowiedzieć się, jak skompilować system Android 9.0 i nowsze wersje, zobacz Konfigurowanie oprogramowania AOSP .
Skonfigurowany do rozwoju AOSP (5.0 - 8.0)
W przypadku systemu Android od 5.0 do 8.0 rozważ użycie dołączonego pliku Dockerfile , aby ułatwić instalację wszystkich wymaganych pakietów.
System operacyjny
Android jest zazwyczaj zbudowany z systemem GNU Linux. Możliwe jest także zbudowanie systemu Android na maszynie wirtualnej na nieobsługiwanych systemach, takich jak Mac OS X.
Google zaleca budowanie na systemie GNU Linux. System kompilacji Androida zwykle uruchamia ART na maszynie budującej w celu prekompilacji systemowych plików DEX. ART może działać tylko w systemie Linux, więc system kompilacji pomija ten etap prekompilacji w systemach operacyjnych innych niż Linux, co powoduje, że kompilacja Androida ma zmniejszoną wydajność.
Linuxa GNU
- Android 6.0 — Android 8.0: Ubuntu 14.04 (Zaufany)
- Android 5.x: Ubuntu 12.0
Mac OS X (Intel/x86)
- Android 6.0 — AOSP 8.0: Mac OS X v10.10 (Yosemite) lub nowszy z Xcode 4.5.2 i narzędziami wiersza poleceń
- Android 5.x: Mac OS X 10.8 (Mountain Lion) z Xcode 4.5.2 i narzędziami wiersza poleceń
JDK
Android 7.0 - Android 8.0:
- Ubuntu: OpenJDK8
- Mac OS X: JDK 8u45 lub nowszy
Android 5.x (Lollipop) - Android 6.0 (Marshmallow):
- Ubuntu: OpenJDK7
- Mac OS X: jdk-7u71-macosx-x64.dmg
Skonfigurowany do rozwoju AOSP (2.3 - 4.4)
W tej sekcji znajdują się wskazówki dotyczące konfigurowania systemu Android od 2.3 do 4.4.
System operacyjny
Android jest zazwyczaj zbudowany z systemem GNU Linux. Możliwe jest również zbudowanie systemu Android na maszynie wirtualnej na nieobsługiwanych systemach, takich jak Windows.
Google zaleca budowanie na systemie GNU Linux. System kompilacji Androida zwykle uruchamia ART na maszynie budującej w celu prekompilacji systemowych plików DEX. ART może działać tylko w systemie Linux, więc system kompilacji pomija ten etap prekompilacji w systemach operacyjnych innych niż Linux, co powoduje, że kompilacja Androida ma zmniejszoną wydajność.
Linuxa GNU
- Android 2.3.x — Android 4.4: Ubuntu 12.04 (precyzyjny)
Mac OS X (Intel/x86)
- Android 4.1.x — Android 4.4.x: Mac OS X 10.6 (Snow Leopard) lub Mac OS X 10.7 (Lion) i Xcode 4.2 (Apple Developer Tools)
- Android 2.3 — Android 4.0.x: Mac OS X 10.5 (Leopard) lub Mac OS X 10.6 (Snow Leopard) i pakiet SDK dla systemu Mac OS X 10.5
Marka GNU
W przypadku Androida 4.1.x do 4.4 użyj GNU make (gmake) 3.82 . W przypadku Androida 2.3 do 4.0.x przywróć wersję gmake 3.82 , aby uniknąć błędów kompilacji.
Xcode i inne pakiety
W przypadku systemu Mac OS X w wersji 10.8 lub starszej zainstaluj Xcode z witryny programistów Apple . Jeśli nie jesteś jeszcze zarejestrowany jako programista Apple, musisz utworzyć Apple ID, aby pobrać.
Jeśli używasz systemu Mac OS X v10.4, zainstaluj także Bison:
POSIXLY_CORRECT=1 sudo port install bison
W przypadku komputerów MacPorts wydaj:
POSIXLY_CORRECT=1 sudo port install gmake libsdl git gnupg
W przypadku Homebrew wydaj:
brew install gmake libsdl git gnupg2
Wróć z wersji gmake 3.82
W systemie Android 4.0.x i niższych wersjach gmake 3.82 występuje błąd uniemożliwiający budowanie systemu Android. Możesz zainstalować wersję 3.81 przy użyciu MacPorts, wykonując następujące kroki:
Edytuj
/opt/local/etc/macports/sources.conf
i dodajfile:///Users/Shared/dports
powyżej liniirsync
.Utwórz katalog
dports
:mkdir /Users/Shared/dports
W nowym katalogu
dports
uruchom:svn co --revision 50980 http://svn.macports.org/repository/macports/trunk/dports/devel/gmake/ devel/gmake/
Utwórz indeks portu dla swojego nowego lokalnego repozytorium:
portindex /Users/Shared/dports
Zainstaluj niższą wersję 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 dla Linuksa
Projekt Android Open Source Project (AOSP) zawiera wstępnie zbudowane wersje OpenJDK w ramach prebuilts/jdk/
więc nie jest wymagana żadna dodatkowa instalacja.
Wcześniejsze wersje Androida wymagają osobnej instalacji pakietu JDK. W systemie Ubuntu użyj OpenJDK
Dla Ubuntu 15.04 i nowszych
Uruchom następujące polecenie:
sudo apt-get update
sudo apt-get install openjdk-8-jdk
Dla Ubuntu LTS 14.04
Brak dostępnych obsługiwanych pakietów OpenJDK 8 dla Ubuntu 14.04. Pakiety Ubuntu 15.04 OpenJDK 8 zostały pomyślnie użyte w Ubuntu 14.04. Wyższe wersje pakietów (na przykład te dla 15.10, 16.04) nie działają w wersji 14.04, postępując zgodnie z poniższymi instrukcjami.
Pobierz pakiety
.deb
dla architektury 64-bitowej ze strony old-releases.ubuntu.com-
openjdk-8-jre-headless_8u45-b14-1_amd64.deb
z SHA2560f5aba8db39088283b51e00054813063173a4d8809f70033976f83e214ab56c0
-
openjdk-8-jre_8u45-b14-1_amd64.deb
z SHA2569ef76c4562d39432b69baf6c18f199707c5c56a5b4566847df908b7d74e15849
-
openjdk-8-jdk_8u45-b14-1_amd64.deb
z SHA2566e47215cf6205aa829e6a0a64985075bd29d1f428a4006a80c9db371c2fc3c4c
-
Opcjonalnie potwierdź sumy kontrolne pobranych plików względem ciągu SHA256 wymienionego przy każdym pakiecie z kroku 1. Na przykład za pomocą narzędzia
sha256sum
:sha256sum {downloaded.deb file}
Zainstaluj pakiety:
sudo apt-get update
Uruchom
dpkg
dla każdego pobranego pliku.deb
. Może powodować błędy z powodu brakujących zależności:sudo dpkg -i {downloaded.deb file}
Aby naprawić brakujące zależności:
sudo apt-get -f install
(Opcjonalnie) Zaktualizuj domyślną wersję Java
Opcjonalnie, dla wspomnianych wcześniej wersji Ubuntu, zaktualizuj domyślną wersję Java, uruchamiając:
sudo update-alternatives --config java
sudo update-alternatives --config javac
Zainstaluj wymagane pakiety dla Ubuntu 14.04
Uruchom następujące polecenia, aby zainstalować wymagane pakiety dla 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$
Zainstaluj wymagane pakiety dla Ubuntu 12.04
Uruchom następujące polecenia, aby zainstalować wymagane pakiety dla 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