Прежде чем загружать и собирать последнюю версию Android (android16-release) из исходного кода Android, убедитесь, что ваше оборудование соответствует необходимым требованиям, а необходимое программное обеспечение установлено правильно. Вам также следует ознакомиться со следующими терминами:
- Гит
- Git — это бесплатная распределённая система управления версиями с открытым исходным кодом. Android использует Git для локальных операций, таких как ветвление, коммиты, сравнение и редактирование. За информацией по освоению Git обратитесь к документации Git .
- Репо
- Repo — это Python-обёртка для Git, упрощающая выполнение сложных операций с несколькими репозиториями Git. Repo не заменяет Git для всех операций с контролем версий, а лишь упрощает выполнение сложных операций с Git. Repo использует файлы манифестов для объединения проектов Git в суперпроект Android.
- Файл манифеста
- Файл манифеста — это XML-файл, в котором указано, где в дереве исходного кода AOSP размещаются различные проекты Git в исходном коде Android.
Соответствие требованиям к оборудованию
Ваша рабочая станция разработки должна соответствовать или превосходить следующие аппаратные требования:
64-битная система x86.
Не менее 400 ГБ свободного места на диске для проверки и сборки кода (250 ГБ для проверки + 150 ГБ для сборки).
Минимум 64 ГБ оперативной памяти. Google использует 72-ядерные процессоры с 64 ГБ оперативной памяти для сборки Android. При такой конфигурации оборудования полная сборка Android занимает около 40 минут, а инкрементальная — всего несколько минут. Для сравнения, на 6-ядерном процессоре с 64 ГБ оперативной памяти полная сборка занимает около 6 часов.
Соответствовать требованиям операционной системы
На вашей рабочей станции разработки должен быть установлен любой 64-битный дистрибутив Linux с библиотекой GNU C (glibc) 2.17 или более поздней версии.
Установить необходимые пакеты
Для сборки Android 11 или более поздней версии необходимо использовать Ubuntu 18.04 или более позднюю версию. Чтобы установить необходимые пакеты для Ubuntu 18.04 или более поздней версии, выполните следующую команду:
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
Среди установленных пакетов эта команда устанавливает Git, который используется для загрузки исходного кода AOSP.
Установить необходимое программное обеспечение
Для работы с AOSP необходимы установленные OpenJDK, Make, Python 3 и Repo. Последняя версия Android содержит готовые версии OpenJDK, Make и Python 3, поэтому дополнительная установка не требуется. В следующем разделе объясняется, как установить Repo.
Установить репозиторий
Для установки Repo выполните следующие действия:
Загрузите актуальную информацию о пакете:
sudo apt-get update
Выполните следующую команду для установки Repo launcher:
sudo apt-get install repo
Запуск Repo предоставляет скрипт Python, который инициализирует проверку и загружает полный инструмент Repo.
В случае успеха перейдите к шагу 4.
(необязательно) Установите Repo вручную, выполнив следующую серию команд:
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
Первые три команды создают временный файл, загружают Repo в него и проверяют, соответствует ли предоставленный ключ требуемому. Если эти команды выполнены успешно, последняя команда устанавливает Repo-лаунчер.
Проверьте версию Repo launcher:
repo version
В выводе должна быть указана версия 2.4 или выше, например:
repo launcher version 2.45
Установить альтернативный выходной каталог
По умолчанию выходные данные каждой сборки сохраняются в подкаталоге out/
соответствующего дерева исходного кода. Вы можете переопределить этот каталог, экспортировав переменную окружения OUT_DIR
. Например, если вы хотите сохранить выходные данные на другом диске, вы можете указать этот диск в переменной OUT_DIR
:
export OUT_DIR=my_other_drive
Что дальше?
- Чтобы загрузить исходный код, перейдите на страницу Загрузка исходного кода Android .
- Помощь в изучении Git можно получить в документации Git .
- Дополнительную документацию по Repo см. в файле README Repo .
- Список всех команд Repo см. в справочнике команд Repo .