Na tej stronie znajdziesz informacje o konfigurowaniu środowiska programistycznego na Androida 8.0 lub niższą wersję. Aby dowiedzieć się, jak kompilować Androida 9.0 lub nowszego, przeczytaj artykuł Konfigurowanie środowiska do tworzenia aplikacji na potrzeby AOSP.
Konfigurowanie środowiska programowania AOSP (5.0–8.0)
W przypadku Androida w wersji 5.0–8.0 rozważ użycie dołączonego pliku Dockerfile, aby ułatwić instalację wszystkich wymaganych pakietów.
Systemy operacyjne
Android jest zwykle tworzony na GNU Linux. Aplikację na Androida można też skompilować na maszynie wirtualnej w nieobsługiwanych systemach, takich jak Mac OS X.
Google zaleca kompilację na systemie GNU Linux. System kompilacji Androida zwykle uruchamia ART na maszynie do kompilacji, aby wstępnie skompilować pliki DEX systemu. ART można uruchamiać tylko w Linuksie, więc w systemach operacyjnych innych niż Linux system kompilacji pomija ten krok wstępnej kompilacji, co powoduje zmniejszenie wydajności.
GNU Linux
- Android 6.0–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 w wersji 10.10 (Yosemite) lub nowszej z Xcode 4.5.2 i narzędziami wiersza poleceń
- Android 5.x: Mac OS X w wersji 10.8 (Mountain Lion) z Xcode 4.5.2 i narzędziami wiersza poleceń
JDK
Android 7.0 – Android 8.0:
- Ubuntu: OpenJDK 8
- Mac OS X: JDK 8u45 lub nowszy
Android 5.x (Lollipop) – Android 6.0 (Marshmallow):
- Ubuntu: OpenJDK 7
- Mac OS X: jdk-7u71-macosx-x64.dmg
Konfigurowanie środowiska programistycznego AOSP (2.3–4.4)
Z tej sekcji dowiesz się, jak skonfigurować Androida w wersji od 2.3 do 4.4.
Systemy operacyjne
Android jest zwykle tworzony na GNU Linux. Można też kompilować Androida na maszynie wirtualnej w nieobsługiwanych systemach, takich jak Windows.
Google zaleca kompilowanie w GNU Linux. System kompilacji Androida zwykle uruchamia ART na maszynie do kompilacji, aby wstępnie skompilować pliki DEX systemu. ART może działać tylko na systemie Linux, więc system kompilacji pomija ten etap w przypadku systemów operacyjnych innych niż Linux, co powoduje, że kompilacja Androida ma niższą wydajność.
Plik GNU Linux
- Android 2.3.x – Android 4.4: Ubuntu 12.04 (Precise)
Mac OS X (Intel/x86)
- Android 4.1.x–4.4.x: Mac OS X 10.6 (Snow Leopard) lub Mac OS X 10.7 (Lion) i Xcode 4.2 (Narzędzia Apple dla programistów)
- Android 2.3 – Android 4.0.x: Mac OS X w wersji 10.5 (Leopard) lub Mac OS X w wersji 10.6 (Snow Leopard) oraz pakiet SDK Mac OS X w wersji 10.5
Marka GNU
W przypadku Androida w wersjach od 4.1.x do 4.4 użyj GNU make (gmake) 3.82. Aby przejść z Androida 2.3 na 4.0.x, cofaj 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 na stronie dla deweloperów Apple. Jeśli nie jesteś jeszcze zarejestrowanym deweloperem Apple, musisz utworzyć identyfikator Apple ID do pobrania.
Jeśli korzystasz z systemu Mac OS X 10.4, zainstaluj również Bison:
POSIXLY_CORRECT=1 sudo port install bison
W przypadku MacPorts:
POSIXLY_CORRECT=1 sudo port install gmake libsdl git gnupg
W przypadku Homebrew:
brew install gmake libsdl git gnupg2
Przywracanie wersji gmake 3.82
W Androidzie 4.0.x i starszych występuje błąd w gmake 3.82, który uniemożliwia kompilację Androida. Aby zainstalować wersję 3.81 za pomocą MacPorts, wykonaj te czynności:
Edytuj
/opt/local/etc/macports/sources.conf
i dodajfile:///Users/Shared/dports
nad wierszemrsync
.Utwórz katalog
dports
:mkdir /Users/Shared/dports
W nowym katalogu
dports
wykonaj:svn co --revision 50980 http://svn.macports.org/repository/macports/trunk/dports/devel/gmake/ devel/gmake/
Utwórz indeks portu dla nowego repozytorium lokalnego:
portindex /Users/Shared/dports
Zainstaluj starszą 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 na Linuksa
Android Open Source Project (AOSP) zawiera gotowe wersje OpenJDK w ciągu prebuilts/jdk/
, więc nie jest wymagana dodatkowa instalacja.
Wcześniejsze wersje Androida wymagają osobnej instalacji pakietu JDK. W Ubuntu użyj OpenJDK.
Ubuntu w wersji 15.04 lub nowszej
Wykonaj te czynności:
sudo apt-get update
sudo apt-get install openjdk-8-jdk
Ubuntu LTS 14.04
Nie ma dostępnych obsługiwanych pakietów OpenJDK 8 dla Ubuntu 14.04. Pakiety OpenJDK 8 w Ubuntu 15.04 zostały pomyślnie użyte w Ubuntu 14.04. Wersje pakietu nowsze niż ta, która jest wymagana do wersji 14.04 (np. 15.10 lub 16.04) nie działają w wersji 14.04, jeśli zastosujesz podane niżej instrukcje.
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 sprawdź sumy kontrolne pobranych plików za pomocą ciągu znaków SHA256 podanego w przypadku każdego pakietu w kroku 1. Na przykład w przypadku narzędzia
sha256sum
:sha256sum {downloaded.deb file}
Zainstaluj pakiety:
sudo apt-get update
Uruchom
dpkg
w przypadku każdego z.deb
pobranych plików. Może ono generować błędy z powodu braku zależności:sudo dpkg -i {downloaded.deb file}
Aby poprawić brakujące zależności:
sudo apt-get -f install
(Opcjonalnie) Aktualizowanie domyślnej wersji Javy
Opcjonalnie, w przypadku wymienionych wcześniej wersji Ubuntu zaktualizuj domyślną wersję Java, wykonując:
sudo update-alternatives --config java
sudo update-alternatives --config javac
Instalowanie wymaganych pakietów w Ubuntu 14.04
Aby zainstalować wymagane pakiety w Ubuntu 14.04, uruchom te polecenia:
$ 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$
Instalowanie wymaganych pakietów w Ubuntu 12.04
Aby zainstalować wymagane pakiety w Ubuntu 12.04, uruchom te polecenia:
$ 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