Zanim pobierzesz i skompilujesz najnowszą gałąź Androida (android17-release), upewnij się, że Twój sprzęt spełnia wymagania i że wymagane oprogramowanie jest prawidłowo zainstalowane. Musisz też znać te terminy:
- Git
- Git to bezpłatny, rozproszony system kontroli wersji typu open source. Android używa Gita do operacji lokalnych, takich jak tworzenie gałęzi, zatwierdzanie zmian, porównywanie i edytowanie. Aby dowiedzieć się więcej o Gicie, zapoznaj się z dokumentacją Gita.
- Repo
- Repo to otoka Pythona wokół Gita, która upraszcza wykonywanie złożonych operacji w wielu repozytoriach Git. Repo nie zastępuje Gita we wszystkich operacjach kontroli wersji, tylko ułatwia wykonywanie złożonych operacji Git. Repo używa plików manifestu do agregowania projektów Git w superprojekcie Androida.
- Plik manifestu
- Plik manifestu to plik XML określający, gdzie w drzewie źródłowym AOSP znajdują się różne projekty Git w źródle Androida.
Spełnianie wymagań sprzętowych
Stacja robocza dewelopera powinna spełniać te wymagania sprzętowe lub je przekraczać:
System 64-bitowy x86.
Co najmniej 400 GB wolnego miejsca na dysku na pobranie i skompilowanie kodu (250 GB na pobranie + 150 GB na kompilację).
Co najmniej 64 GB pamięci RAM. Google używa do kompilowania Androida maszyn z 72 rdzeniami i 64 GB pamięci RAM. Przy takiej konfiguracji sprzętowej pełna kompilacja Androida trwa około 40 minut, a kompilacja przyrostowa – tylko kilka minut. Dla porównania, pełna kompilacja na maszynie z 6 rdzeniami i 64 GB pamięci RAM trwa około 6 godzin.
Spełnianie wymagań systemowych
Na stacji roboczej dewelopera musi być zainstalowana dowolna 64-bitowa dystrybucja Linuksa z biblioteką GNU C Library (glibc) w wersji 2.17 lub nowszej.
Instalowanie wymaganych pakietów
Aby skompilować Androida w wersji 11 lub nowszej, musisz używać Ubuntu 18.04 lub nowszego. Aby zainstalować wymagane pakiety w Ubuntu 18.04 lub nowszym, 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 fontconfigTo polecenie instaluje m.in. Gita, który służy do pobierania źródła AOSP.
Instalowanie wymaganego oprogramowania
Zanim zaczniesz korzystać z AOSP, musisz zainstalować OpenJDK, Make, Pythona 3 i Repo. Najnowsza gałąź Androida zawiera wstępnie skompilowane wersje OpenJDK, Make i Pythona 3, więc nie trzeba wykonywać dodatkowych czynności instalacyjnych. W następnej sekcji dowiesz się, jak zainstalować Repo.
Instalowanie Repo
Aby zainstalować Repo:
Pobierz aktualne informacje o pakietach:
sudo apt-get updateUruchom to polecenie, aby zainstalować program uruchamiający Repo:
sudo apt-get install repoProgram uruchamiający Repo udostępnia skrypt Pythona, który inicjuje pobieranie i pobiera pełne narzędzie Repo.
Jeśli operacja się powiedzie, przejdź do kroku 4.
(Opcjonalnie) Ręcznie zainstaluj Repo za pomocą 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/repoPierwsze 3 polecenia konfigurują plik tymczasowy, pobierają do niego Repo i sprawdzają, czy podany klucz pasuje do wymaganego klucza. Jeśli te polecenia się powiodą, ostatnie polecenie zainstaluje program uruchamiający Repo.
Sprawdź wersję programu uruchamiającego Repo:
repo versionDane wyjściowe powinny wskazywać wersję 2.4 lub nowszą, na przykład:
repo launcher version 2.45
Ustawianie alternatywnego katalogu wyjściowego
Domyślnie dane wyjściowe każdej kompilacji są przechowywane w podkatalogu out/ pasującego drzewa źródłowego. Możesz zastąpić ten katalog, eksportując zmienną środowiskową OUT_DIR. Jeśli na przykład chcesz przechowywać dane wyjściowe na innym dysku, możesz wskazać ten dysk w zmiennej OUT_DIR:
export OUT_DIR=my_other_driveCo dalej?
- Aby pobrać kod źródłowy, przejdź do sekcji Pobieranie źródła Androida.
- Aby dowiedzieć się więcej o Gicie, zapoznaj się z dokumentacją Gita.
- Dodatkową dokumentację Repo znajdziesz w pliku Repo README.
- Listę wszystkich poleceń Repo znajdziesz w dokumentacji poleceń Repo.