Параграф 5: Ініціалізація та збірка
І ось ми переходимо до найбільш цікавого, страшного та інтригуючого в цьому розділі - до збірки готової прошивки!
Для початку потрібно налаштувати оточення, що відбувається за допомогою запуску скрипта build/envsetup.sh
. Тут доречний жарт "є два типи людей":
. build/envsetup.sh
source build/envsetup.sh
Так, це два варіанти як запустити скрипт. Автор цього тексту відносить себе до першого типу людей.
Окей, тепер потрібно вказати системі збірки під який пристрій відбувається збірка. Команда має бути такою:
lunch lineage_codename-userdebug
Примітка
Можна ввести команду lunch
без якихось аргументів, і він виведе вам список усіх пристроїв, яких знайшов. Там може бути під емулятор Android для Android Studio, офіційні пристрої і під ваш пристрій, якщо ви правильно все зробили, але рекомендую робити як вище, менше проблем і швидше
Де codename
- кодова назва пристрою. Не боїмося, сидимо і чекаємо, коли зробить усе, що потрібно системі збірки.
Чудово! Ми можемо почитати майже всю інформацію про пристрій, на який збираємо прошивку, і трохи про ОС, яка стоїть на машині для збірки. Тепер ми готові збирати. І тут знову 2 варіанти:
- Збірка прошивки з використанням make і кількістю потоків. Якщо не вказувати кількість потоків, то збірка відбуватиметься в однопотоковому режимі
make bacon -j#
- Збірка прошивки з використанням mka, він автоматично встановить потрібну кількість потоків для збірки
mka bacon
У чому різниця? Про це нам скаже Mirsaid02 з 4PDA:
mka - найкраща команда для збірки в плані якості, тому що використовує програму sched_tool, під час збірки буде виникати менше помилок, обирає для кожної частини збірки підходящий компілятор, але водночас збірка триває на кілька годин довше, залежно від ТХ вашого ПК або ноутбука, також її називають "супер-зарядженою" версією make.