Konfiguracja do programowania AOSP (2.3 - 8.0)

Na tej stronie omówiono sposób konfiguracji do programowania z systemem Android 8.0 lub starszym. 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

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:

  1. Edytuj /opt/local/etc/macports/sources.conf i dodaj file:///Users/Shared/dports powyżej linii rsync .

  2. Utwórz katalog dports :

    mkdir /Users/Shared/dports
    
  3. W nowym katalogu dports uruchom:

    svn co --revision 50980 http://svn.macports.org/repository/macports/trunk/dports/devel/gmake/ devel/gmake/
    
  4. Utwórz indeks portu dla swojego nowego lokalnego repozytorium:

    portindex /Users/Shared/dports
    
  5. Zainstaluj niższą wersję gmake:

    sudo port install gmake @3.81
    

JDK

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, korzystając z poniższych instrukcji.

  1. 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
  2. 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}
    
  3. Zainstaluj pakiety:

    sudo apt-get update
    
  4. 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}
    
  5. 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