Работа с кодом Android требует использования как Git (системы управления версиями с открытым исходным кодом), так и Repo (инструмента управления репозиториями, разработанного Google и работающего поверх Git). В разделе «Рабочий процесс управления версиями» вы найдете сводку регулярных действий, которые можно выполнять, например, загрузку изменений для проверки.
Гит
Git управляет крупными проектами, распределёнными по нескольким репозиториям. Android использует Git для локальных операций, таких как локальное ветвление, коммиты, изменения и редактирование. Одной из сложностей при запуске проекта Android было определение оптимального способа поддержки внешнего сообщества — от сообщества любителей до крупных OEM-производителей, выпускающих массовые потребительские устройства. Мы хотели, чтобы компоненты были заменяемыми, а интересные компоненты имели собственную жизнь за пределами Android. Сначала мы выбрали распределённую систему контроля версий, а затем сузили круг до Git.
Более подробную информацию о Git можно найти в этой документации Git .
Репо
Repo объединяет репозитории Git при необходимости, выполняет загрузку в систему контроля версий Gerrit и автоматизирует части рабочего процесса разработки Android.
Repo Launcher предоставляет скрипт Python, который инициализирует проверку и загружает вторую часть — полный инструмент Repo. Полный инструмент Repo входит в состав исходного кода Android. По умолчанию он находится в $SRCDIR/.repo/repo/...
и получает перенаправленные команды от загруженного Repo Launcher.
Repo не заменяет Git, а лишь упрощает работу с ним в контексте Android. Repo использует файлы манифестов для объединения проектов Git в суперпроект Android. Вы можете разместить команду repo
, представляющую собой исполняемый скрипт Python, в любом месте пути. При работе с исходными файлами Android вы можете использовать Repo для межсетевых операций, например, с одним рабочим каталогом Repo.
В большинстве случаев можно использовать Git вместо Repo или комбинировать команды Repo и Git для создания сложных команд. Однако использование Repo для базовых сетевых операций значительно упрощает работу. Подробнее о Repo см. в справочнике команд Repo , README-файле Repo , Preupload Hooks (тесты, которые можно включить в Repo) и общей документации в AOSP .
Чтобы загрузить и установить Repo Launcher из git-repo-downloads , см. раздел Установка Repo .
Геррит
Gerrit — это веб-система проверки кода для проектов, использующих Git. Gerrit способствует более централизованному использованию Git, позволяя всем авторизованным пользователям отправлять изменения, которые автоматически объединяются после успешного прохождения проверки. Кроме того, Gerrit упрощает проверку, отображая изменения бок о бок в браузере и позволяя добавлять встроенные комментарии.
Интерфейс обзора Android Gerrit можно найти на сайте android-review.googlesource.com , а интерфейс навигации по коду — на сайте android.googlesource.com .
Поиск кода Android
Android Code Search позволяет выполнять поиск по AOSP без загрузки каких-либо файлов. С помощью Code Search можно просматривать исходный код AOSP, переключаться между ветками с открытым исходным кодом и перемещаться по перекрёстным ссылкам. Дополнительную информацию см. на сайте Google Developers в документации по Code Search .
Другие инструменты
Android Studio — официальная интегрированная среда разработки (IDE) для разработки приложений для Android.
Android Debug Bridge (adb) позволяет вам подключать рабочую станцию разработки напрямую к устройству на базе Android, чтобы вы могли устанавливать пакеты и оценивать свои изменения.
Для разработки AOSP используйте Android Studio for Platform (ASfP) .