Konfiguracja do programowania AOSP (1.5 - 8.0)

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

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:

  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

  • Android 2.3.x (Gingerbread) - Android 4.4.x (KitKat):

  • Android 1.5 (Cupcake) - Android 2.2.x (Froyo):

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.

  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 w każdym pakiecie powyżej. 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