W tym dokumencie omówiono sposób konfiguracji do programowania z systemem Android 8.0 lub poprzednimi wersjami. Aby dowiedzieć się, jak skompilować system Android 9.0 i nowsze wersje, zobacz Konfigurowanie oprogramowania AOSP .
Konfiguracja do programowania 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 5.x (Lollipop): Ubuntu 12.0
- Android 6.0 (Marshmallow) – AOSP 8.0 (Oreo): Ubuntu 14.04 (Trusty)
Mac OS X (Intel/x86)
- Android 6.0 (Marshmallow) — AOSP 8.0 (Oreo): Mac OS X 10.10 (Yosemite) lub nowszy z Xcode 4.5.2 i narzędziami wiersza poleceń
- Android 5.x (Lollipop): Mac OS X 10.8 (Mountain Lion) z Xcode 4.5.2 i narzędziami wiersza poleceń
JDK
Android 7.0 (Nougat) - Android 8.0 (Oreo):
- Ubuntu: OpenJDK 8
- 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 (1.5 - 4.4)
W tej sekcji znajdują się wskazówki dotyczące konfigurowania systemu Android od 1.5 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 (Gingerbread) – Android 4.4 (KitKat): Ubuntu 12.0 (Precise)
- Android 1.5 (Cupcake) – Android 2.2.x (Froyo): Ubuntu 10.04 (Lucid)
Mac OS X (Intel/x86)
- Android 4.1.x (Jelly Bean) — Android 4.4.x (KitKat): Mac OS X 10.6 (Snow Leopard) lub Mac OS X 10.7 (Lion) i Xcode 4.2 (Apple Developer Tools)
- Android 1.5 (Cupcake) — Android 4.0.x (Ice Cream Sandwich): 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 wersji wcześniejszych niż główna gałąź AOSP w systemie Android 4.1.x (Jelly Bean) użyj GNU make (gmake) 3.82 . W przypadku systemu Android 4.0.x (Ice Cream Sandwich) i starszych 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
Powrót z gmake 3.82
W systemie Android 4.0.x (Ice Cream Sandwich) i starszych 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 (Gingerbread) - Android 4.4.x (KitKat):
- Ubuntu: Java JDK 6
- Mac OS X: Java JDK 6
Android 1.5 (Cupcake) - Android 2.2.x (Froyo):
- Ubuntu: Java JDK 5
JDK dla Linuksa
Projekt Android Open Source Project (AOSP) zawiera wstępnie skompilowane wersje OpenJDK poniżej prebuilts/jdk/
, więc nie jest wymagana żadna dodatkowa instalacja.
Wcześniejsze wersje Androida wymagają osobnej instalacji pakietu JDK. W Ubuntu użyj OpenJD
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, korzystając z poniższych instrukcji.
Pobierz pakiety
.deb
dla architektury 64-bitowej ze strony old-releases.ubuntu.com- openjdk-8-jre-headless_8u45-b14-1_amd64.deb z SHA256
0f5aba8db39088283b51e00054813063173a4d8809f70033976f83e214ab56c0
- openjdk-8-jre_8u45-b14-1_amd64.deb z SHA256
9ef76c4562d39432b69baf6c18f199707c5c56a5b4566847df908b7d74e15849
- openjdk-8-jdk_8u45-b14-1_amd64.deb z SHA256
6e47215cf6205aa829e6a0a64985075bd29d1f428a4006a80c9db371c2fc3c4c
- openjdk-8-jre-headless_8u45-b14-1_amd64.deb z SHA256
Opcjonalnie potwierdź sumy kontrolne pobranych plików względem ciągu SHA256 wymienionego w każdym pakiecie powyżej. 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