292 July 21, 2024, 5:42 p.m.

Заметка по сборке chromium

Задача: собрать браузер chromium для android

Для достижения поставленной задачи потребуется:

  • скачать инструменты/зависимости;
  • задать параметры;
  • выбрать параметры сервера;
  • собрать.

Скачивание зависимостей

Скачиваем инструмент

git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git export

Подключаем его

PATH=\`pwd\`/depot_tools:"$PATH"
mkdir ~/chromium && cd ~/chromium

Выполнение этой команды может занять больше часа времени

fetch --nohooks --no-history android

Открываем дирикторию

cd src

Настройка параметров

Добавляем строку и ждем докачиваем зависимости

echo "target_os = [ 'linux', 'android' ]" >> ../.gclient
gclient sync
build/install-build-deps.sh --android
gclient runhooks

Выполняем gn args out/Default и добавляем строки

target_os = "android"
target_cpu = "arm64"  
ffmpeg_branding = "Chrome"
proprietary_codecs = true

Всё готово к сборке


О сервере

В моём случае использовался сервер 36vCPU 72RAM, он был загружен на 100% в течении 3 часов.


Сборка

Запускаем команду

python3 build/util/lastchange.py -o build/util/LASTCHANGE

Собираем

autoninja -C out/Default chrome_public_apk

После успешной сборки файл будет тут out/Default/apks/<тут>