Skonfigurowany do programowania AOSP (9.0 lub nowszy)

Zanim pobierzesz i zbudujesz main gałąź źródła Androida, upewnij się, że Twój sprzęt spełnia niezbędne wymagania i że wymagane oprogramowanie jest poprawnie zainstalowane. Powinieneś także znać następujące terminy:

Git
Git to darmowy i rozproszony system kontroli wersji typu open source. Android używa Gita do operacji lokalnych, takich jak rozgałęzianie, zatwierdzanie, porównywanie i edytowanie. Aby uzyskać pomoc w nauce Gita, zapoznaj się z dokumentacją Gita .
Repo
Repo to opakowanie Pythona wokół Git, które upraszcza wykonywanie złożonych operacji na wielu repozytoriach Git. Repo nie zastępuje Gita we wszystkich operacjach kontroli wersji, jedynie ułatwia wykonanie skomplikowanych operacji Git.

Spełnij wymagania sprzętowe

Twoja programistyczna stacja robocza powinna spełniać lub przekraczać następujące wymagania sprzętowe:

  • System 64-bitowy.

  • Co najmniej 400 GB wolnego miejsca na dysku do sprawdzenia i zbudowania kodu (250 GB do sprawdzenia + 150 GB do zbudowania).

  • Minimum 64 GB pamięci RAM. Google do tworzenia Androida wykorzystuje 72-rdzeniowe maszyny z 64 GB pamięci RAM. Przy tej konfiguracji sprzętowej pełna kompilacja systemu Android zajmuje około 40 minut, a przyrostowa kompilacja systemu Android zajmuje tylko kilka minut. Dla porównania, pełna kompilacja na maszynie 6-rdzeniowej z 64 GB pamięci RAM zajmuje około 6 godzin.

Spełnij wymagania systemu operacyjnego

Na Twojej programistycznej stacji roboczej musi działać dowolna 64-bitowa dystrybucja Linuksa z biblioteką GNU C (glibc) 2.17 lub nowszą.

Zainstaluj wymagane pakiety

Aby zbudować Androida 11 lub nowszego, musisz użyć Ubuntu 18.04 lub nowszego. Aby zainstalować wymagane pakiety dla Ubuntu 18.04 lub nowszego, uruchom następującą komendę:

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

Wśród zainstalowanych pakietów to polecenie instaluje Git, który służy do pobierania źródła AOSP.

Zainstaluj wymagane oprogramowanie

Zanim będziesz mógł pracować z AOSP, musisz mieć zainstalowane OpenJDK, Make, Python 3 i Repo. Główna gałąź AOSP systemu Android zawiera wstępnie skompilowane wersje OpenJDK, Make i Python 3, więc dodatkowe kroki instalacyjne nie są wymagane. W poniższej sekcji wyjaśniono, jak zainstalować Repo.

Zainstaluj repozytorium

Wykonaj poniższe kroki, aby zainstalować Repo:

  1. Pobierz aktualne informacje o pakiecie:

    $ sudo apt-get update
    
  2. Uruchom następujące polecenie, aby zainstalować program uruchamiający Repo:

    $ sudo apt-get install repo
    

    Program uruchamiający Repo udostępnia skrypt w języku Python, który inicjuje realizację transakcji i pobiera pełne narzędzie Repo.

    Jeśli się powiedzie, przejdź do kroku 4.

  3. (opcjonalnie) Zainstaluj ręcznie Repo za pomocą następującej serii poleceń:

    $ export REPO=$(mktemp /tmp/repo.XXXXXXXXX)
    $ curl -o ${REPO} https://storage.googleapis.com/git-repo-downloads/repo
    $ gpg --recv-keys 8BB9AD793E8E6153AF0F9A4416530D5E920F5C65
    $ curl -s https://storage.googleapis.com/git-repo-downloads/repo.asc | gpg --verify - ${REPO} && install -m 755 ${REPO} ~/bin/repo
    

    Pierwsze trzy polecenia konfigurują plik tymczasowy, pobierają Repo do pliku i sprawdzają, czy dostarczony klucz pasuje do wymaganego klucza. Jeśli wykonanie tych poleceń zakończy się pomyślnie, ostatnie polecenie instaluje program uruchamiający Repo.

  4. Sprawdź wersję programu uruchamiającego Repo:

    $ repo version
    

    Dane wyjściowe powinny wskazywać wersję 2.5 lub wyższą, na przykład:

    repo launcher version 2.40

Ustaw alternatywny katalog wyjściowy

Domyślnie dane wyjściowe każdej kompilacji są przechowywane w podkatalogu out/ odpowiedniego drzewa źródłowego. Możesz zastąpić ten katalog, eksportując zmienną środowiskową OUT_DIR . Na przykład, jeśli chcesz przechowywać dane wyjściowe na innym dysku, możesz wskazać OUT_DIR na ten dysk:

$ export OUT_DIR=my_other_drive