Konfiguracja na potrzeby programowania AOSP (2.3–8.0)

Na tej stronie dowiesz się, jak skonfigurować aplikację do programowania na Androida 8.0 lub do starszych wersji. Aby dowiedzieć się, jak utworzyć Androida 9.0 lub nowszego, zobacz Skonfiguruj programowanie AOSP.

Konfiguracja na potrzeby programowania AOSP (5.0–8.0)

W przypadku Androida w wersjach od 5.0 do 8.0 skorzystaj z dołączonego Dockerfile aby ułatwić instalację wszystkich wymaganych pakietów.

Systemy operacyjne

System Android zazwyczaj został zaprojektowany pod kątem systemu GNU Linux. Możesz też tworzyć Android w maszynie wirtualnej w nieobsługiwanych systemach, np. Mac OS X.

Google zaleca kompilację na systemie GNU Linux. System kompilacji Androida działa normalnie ART na komputerze do kompilacji, aby wstępnie skompilować pliki DEX systemu. ART mogą działać tylko na Linux, więc w systemach innych niż Linux system kompilacji pomija ten krok wstępnej kompilacji. i zmniejsza wydajność systemu operacyjnego.

Plik 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 10.10 (Yosemite) lub później w Xcode 4.5.2 i narzędziach wiersza poleceń
  • Android 5.x: Mac OS X 10.8 (Mountain Lion) z Xcode 4.5.2 i narzędzia wiersza poleceń

JDK

Konfiguracja na potrzeby programowania AOSP (2.3–4.4)

Ta sekcja zawiera wskazówki dotyczące konfiguracji Androida od 2.3 do Android 4.4

Systemy operacyjne

System Android zazwyczaj został zaprojektowany pod kątem systemu GNU Linux. Możesz też utworzyć Androida w maszynie wirtualnej w nieobsługiwanych systemach, np. Windows.

Google zaleca kompilację na systemie GNU Linux. System kompilacji Androida działa normalnie ART na komputerze do kompilacji, aby wstępnie skompilować pliki DEX systemu. ART mogą działać tylko na Linux, więc w systemach innych niż Linux system kompilacji pomija ten krok wstępnej kompilacji. systemów operacyjnych, co powoduje kompilację Androida o niższej wydajności.

Plik GNU Linux

  • Android 2.3.x–4.4: Ubuntu 12.04 (Dokładna)

Mac OS X (Intel/x86)

  • Android 4.1.x–4.4.x: Mac OS X v10.6 (śnieg Leopard) lub Mac OS X 10.7 (Lion) i Xcode 4.2 (Narzędzia Apple dla programistów)
  • Android 2.3–4.0.x: Mac OS X 10.5 (Leopard) lub Mac OS X 10.6 (Snow Leopard) oraz Mac OS X 10.5 SDK

Marka GNU

W przypadku Androida w wersjach od 4.1.x do 4.4 użyj GNU Make (gmake) 3.82. W przypadku Androida w wersji 2.3–4.0.x przywróć wersję gmake 3.82 do i uniknąć błędów kompilacji.

Xcode i inne pakiety

W systemie Mac OS X 10.8 lub starszym zainstaluj Xcode witrynę dla deweloperów Apple. Jeśli nie jesteś już zarejestrowany jako deweloper Apple, musisz utworzyć identyfikator Apple ID, pobierz.

Jeśli korzystasz z systemu Mac OS X 10.4, zainstaluj też wersję Bison:

POSIXLY_CORRECT=1 sudo port install bison

W przypadku MacPorts problem:

POSIXLY_CORRECT=1 sudo port install gmake libsdl git gnupg

W przypadku Homebrew:

brew install gmake libsdl git gnupg2

Przywróć wersję Gmake 3.82

W Androidzie 4.0.x i starszych w gmake 3.82 pojawia się błąd uniemożliwia tworzenie Androida. Wersję 3.81 możesz zainstalować za pomocą MacPorts, wykonując te czynności:

  1. Edytuj /opt/local/etc/macports/sources.conf i dodaj file:///Users/Shared/dports nad linią rsync.

  2. Utwórz katalog dports:

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

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

    portindex /Users/Shared/dports
    
  5. Zainstaluj starszą wersję gmake:

    sudo port install gmake @3.81
    

JDK

JDK dla systemu Linux

Projekt Android Open Source Project (AOSP) zawiera gotowe wersje OpenJDK w prebuilts/jdk/, więc nie wymagana jest dodatkowa instalacja.

Wcześniejsze wersje Androida wymagają osobnej instalacji pakietu JDK. Wł. Ubuntu, użyj OpenJDK,

Ubuntu 15.04 i nowsze wersje

Uruchom to polecenie:

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 użyte z Ubuntu 14.04. wyższe wersje pakietów (np. dla wersji 15.10, 16.04) nie działają w wersji 14.04, postępując zgodnie z tymi instrukcjami.

  1. Pobierz pakiety .deb dla architektury 64-bitowej z 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 sprawdź sumy kontrolne pobranych plików z Ciąg znaków SHA256 wymieniony przy każdym pakiecie z kroku 1. Na przykład Narzędzie sha256sum:

    sha256sum {downloaded.deb file}
    
  3. Zainstaluj pakiety:

    sudo apt-get update
    
  4. Uruchom dpkg dla każdego z .deb pobranych plików. Może generować błędy z powodu brakujących zależności:

    sudo dpkg -i {downloaded.deb file}
    
  5. 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 wartość domyślną Uruchom wersję Javy:

sudo update-alternatives --config java
sudo update-alternatives --config javac

Instalowanie wymaganych pakietów dla Ubuntu 14.04

Uruchom następujące polecenia, aby zainstalować wymagane pakiety dla systemu 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$

Instalowanie wymaganych pakietów dla Ubuntu 12.04

Uruchom następujące polecenia, aby zainstalować wymagane pakiety dla systemu 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