Skonfiguruj do programowania AOSP (w wersji 9.0 lub nowszej)

Zanim pobierzesz i skompilujesz gałąź main źródła Androida, upewnij się, Sprawdź, czy Twój sprzęt spełnia niezbędne wymagania i czy oprogramowanie jest prawidłowo zainstalowany. Musisz też znać następujące terminy:

Git
Git to bezpłatny, rozproszony system kontroli wersji typu open source. Android używa Gita do operacji lokalnych, takich jak rozgałęzianie, zatwierdzenia, różnice i zmiany. Jeśli potrzebujesz pomocy w nauce Git, zapoznaj się z dokumentacją Gita.
Repozytorium
Repo to otoczenie Pythona wokół Gita, które upraszcza wykonywanie złożonych operacji w wielu repozytoriach Git. Repozytorium nie zastępuje Gita wszystkich operacji kontroli wersji, upraszcza tylko złożone operacje Git do osiągnięcia sukcesu. Repo używa plików manifestu do agregowania projektów Git w Superprojekt na Androida
Plik manifestu
Plik manifestu to plik XML określający, gdzie poszczególne projekty Git źródło Androida jest umieszczone w drzewie źródłowym AOSP.
.

Spełnij wymagania sprzętowe

Twoja deweloperska stacja robocza powinna spełniać lub przekraczać te wymagania sprzętowe wymagania:

  • 64-bitowy system x86.

  • Co najmniej 400 GB wolnego miejsca na dysku na sprawdzenie i utworzenie kodu. (250 GB na zakupy + 150 GB na wersję płatną).

  • Co najmniej 64 GB pamięci RAM. Google używa 72-rdzeniowych komputerów z pojemnością 64 GB i używanie pamięci RAM do tworzenia Androida. Przy takiej konfiguracji sprzętowej około 40 minut na pełną kompilację Androida i tylko kilka minut na stopniowe kompilowanie Androida. Z kolei w pełnej wersji, z 6-rdzeniowym komputerem i 64 GB pamięci RAM.

Wymagania systemowe Meet

Programowa stacja robocza musi obsługiwać dowolną 64-bitową dystrybucję Linuksa z GNU C. Biblioteka (glibc) w wersji 2.17 lub nowszej.

Zainstaluj wymagane pakiety

Aby utworzyć Androida 11 lub nowszego, musisz korzystać z Ubuntu w wersji 18.04 lub nowszej. Aby zainstalować wymagane pakiety dla systemu Ubuntu 18.04 lub nowszego, uruchom to polecenie:

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

Wśród zainstalowanych pakietów to polecenie instaluje Gita, który służy do pobierz źródło AOSP.

Zainstaluj wymagane oprogramowanie

Aby móc pracować z AOSP, musisz mieć zainstalowane OpenJDK, Make, Python 3 i Repo. Główna gałąź Androida AOSP to: gotowe wersje OpenJDK, Make i Python 3, więc dodatkowa instalacja czynności nie są wymagane. W tej sekcji dowiesz się, jak zainstalować Repo.

Zainstaluj repozytorium

Aby zainstalować Repo:

  1. Pobierz informacje o aktualnym pakiecie:

    sudo apt-get update
    
  2. Uruchom to polecenie, aby zainstalować program uruchamiający repozytorium:

    sudo apt-get install repo
    

    Program uruchamiający repozytorium zawiera skrypt Pythona, który inicjuje proces płatności i pobierze całe narzędzie Repo.

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

  3. (Opcjonalnie) Zainstaluj ręcznie Repo, używając tych 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 3 polecenia konfigurują plik tymczasowy, pobierają do niego Repo sprawdź, czy podany klucz jest zgodny z wymaganym kluczem. Jeśli te polecenia są polecenie instaluje program uruchamiający repozytorium.

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

    repo version
    

    Dane wyjściowe powinny wskazywać wersję 2.4 lub nowszą, na przykład:

    repo launcher version 2.45

Ustaw alternatywny katalog wyjściowy

Dane wyjściowe każdej kompilacji są domyślnie przechowywane w podkatalogu out/ instancji odpowiednie drzewo źródłowe. Możesz zastąpić ten katalog, eksportując plik Zmienna środowiskowa OUT_DIR. Jeśli na przykład chcesz przechowywać dane wyjściowe na innym dysku, możesz wskazać użytkownikowi OUT_DIR ten przejazd:

export OUT_DIR=my_other_drive

Co dalej?