Tworzenie środowiska budowania

W tej sekcji opisano, jak skonfigurować lokalne środowisko pracy, aby zbudować Android plików źródłowych. Musisz używać Linuksa; budynku w trakcie obu MacOS i Windows nie jest obsługiwana. Należy pamiętać, że istotną zmianę w /usr/bin/python binarnym, jak również.

Aby otrzymać przegląd całego kodu przeglądu i aktualizacji kodu procesu zobaczyć życie plastra .

Wybór oddziału

Niektóre wymagania dotyczące środowiska kompilacji zależą od wersji kodu źródłowego, który planuje się skompilować. Aby uzyskać pełną listę dostępnych oddziałów, patrz numery kompilacji . Można również zdecydować się na pobranie i zbudować najnowszy kod źródłowy (zwany master ), w takim przypadku po prostu pominąć specyfikację oddział podczas inicjowania repozytorium.

Po wybraniu oddziału, postępuj zgodnie z odpowiednimi instrukcjami poniżej, aby skonfigurować środowisko kompilacji.

Konfigurowanie gromadzeniu środowiska Linux

Instrukcje te mają zastosowanie do wszystkich oddziałów, w tym master .

Android build jest rutynowo badane w domu na Ubuntu LTS (14,04) i testowania Debian. Większość inne dystrybucje powinny mieć wymagane narzędzia kompilacji dostępne.

W przypadku pierników (2.3.x) i wyższych, w tym wersji master gałęzi, wymagane jest środowisko 64-bitowym. Starsze wersje mogą być zestawiane w systemach 32-bitowych.

Instalowanie wymagane pakiety (Ubuntu 18.04)

Potrzebny jest 64-bitowa wersja Ubuntu.

sudo apt-get install git-core gnupg flex bison build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 libncurses5 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z1-dev libgl1-mesa-dev libxml2-utils xsltproc unzip fontconfig

Instalowanie wymagane pakiety (Ubuntu 14.04)

Potrzebny jest 64-bitowa wersja Ubuntu (14.04 jest zalecane).

sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 libncurses5 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev libgl1-mesa-dev libxml2-utils xsltproc unzip

Instalowanie wymagane pakiety (Ubuntu 12.04)

Możesz używać Ubuntu 12.04 zbudować starszych wersji Androida. Wersja 12.04 nie jest obsługiwana przez master lub ostatnich wydaniach.

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 g++-multilib 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

Instalowanie wymagane pakiety (Ubuntu 10.04-11.10)

Opierając się na Ubuntu 10.04-11.10 nie jest już obsługiwany, ale może być przydatna do budowania starszych wydań AOSP.

sudo apt-get install git gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev lib32ncurses5-dev ia32-libs x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc

Ubuntu 10.10:

sudo ln -s /usr/lib32/mesa/libGL.so.1 /usr/lib32/mesa/libGL.so

Ubuntu 11.10:

sudo apt-get install libx11-dev:i386

Konfigurowanie dostępu USB

Zainstalować domyślny zestaw społeczności utrzymane z udev reguł dla wszystkich urządzeń z systemem Android, postępując zgodnie z instrukcjami wyświetlanymi na skonfigurować urządzenie do rozwoju .

Korzystanie z oddzielnego katalogu wyjściowego

Domyślnie wyjście z każdej wersji jest przechowywany w out/ podkatalogu drzewa dopasowanie źródłowego. Można to zmienić poprzez eksport OUT_DIR zmienną środowiskową. Na przykład:

export OUT_DIR=out_mytarget

To spowoduje wyjście z kompilacji być przechowywane w out_mytarget/ podkatalogu drzewa źródłowego. Przy użyciu tego samego drzewa źródłowego zbudować dla wielu celów, zaleca się, aby używać oddzielnego OUT_DIR dla każdego celu.

Na niektórych komputerach z wieloma urządzeniami pamięci masowej, buduje się szybciej, gdy przechowywanie plików źródłowych i wyjście na oddzielnych tomach. Dla dodatkowej wydajności, wyjście może być przechowywany w systemie plików zoptymalizowane pod kątem szybkości zamiast katastrofy solidności, ponieważ wszystkie pliki mogą być regenerowane, jeżeli system plików jest uszkodzony.

Aby to skonfigurować, eksportuj OUT_DIR_COMMON_BASE zmienną do punktu do miejsca, w którym będą przechowywane Twoje katalogi wyjściowe.

export OUT_DIR_COMMON_BASE=<path-to-your-out-directory>

Katalog wyjściowy dla każdego oddzielnego drzewa źródłowego nosi nazwę katalogu trzymającej drzewa źródłowego. Na przykład, jeśli masz drzew /source/master1 i /source/master2 a jeśli OUT_DIR_COMMON_BASE jest ustawiony /output , katalogi wyjściowe są /output/master1 i /output/master2 .

Uniknąć wielu drzew źródłowych przechowywanych w katalogach, które mają taką samą nazwę, jak drzewa źródłowe by skończyć dzielenie katalog wyjściowy, z nieprzewidywalnych rezultatów. To jest obsługiwana tylko w Jelly Bean (4.1) i wyższym, w tym master oddziału.

Dalej: Pobierz źródła

Środowisko kompilacji jest dobry, aby przejść! Przystąpić do pobierania źródła .