Skip to content

Параграф 5: Ініціалізація та збірка

І ось ми переходимо до найбільш цікавого, страшного та інтригуючого в цьому розділі - до збірки готової прошивки!

Для початку потрібно налаштувати оточення, що відбувається за допомогою запуску скрипта build/envsetup.sh. Тут доречний жарт "є два типи людей":

bash
. build/envsetup.sh
bash
source build/envsetup.sh

Так, це два варіанти як запустити скрипт. Автор цього тексту відносить себе до першого типу людей.

Окей, тепер потрібно вказати системі збірки під який пристрій відбувається збірка. Команда має бути такою:

bash
lunch lineage_codename-userdebug

Примітка

Можна ввести команду lunch без якихось аргументів, і він виведе вам список усіх пристроїв, яких знайшов. Там може бути під емулятор Android для Android Studio, офіційні пристрої і під ваш пристрій, якщо ви правильно все зробили, але рекомендую робити як вище, менше проблем і швидше

Де codename - кодова назва пристрою. Не боїмося, сидимо і чекаємо, коли зробить усе, що потрібно системі збірки.

lunch

Чудово! Ми можемо почитати майже всю інформацію про пристрій, на який збираємо прошивку, і трохи про ОС, яка стоїть на машині для збірки. Тепер ми готові збирати. І тут знову 2 варіанти:

  1. Збірка прошивки з використанням make і кількістю потоків. Якщо не вказувати кількість потоків, то збірка відбуватиметься в однопотоковому режимі
bash
make bacon -j#
  1. Збірка прошивки з використанням mka, він автоматично встановить потрібну кількість потоків для збірки
bash
mka bacon

У чому різниця? Про це нам скаже Mirsaid02 з 4PDA:

Пост

mka - найкраща команда для збірки в плані якості, тому що використовує програму sched_tool, під час збірки буде виникати менше помилок, обирає для кожної частини збірки підходящий компілятор, але водночас збірка триває на кілька годин довше, залежно від ТХ вашого ПК або ноутбука, також її називають "супер-зарядженою" версією make.