Выбор ответа Middle Сборка Gradle спрашивают часто обновлено
implementation и api
Вопрос
Модуль :core:network подключает OkHttp через implementation. Что это значит для модуля :app, который зависит от :core:network?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: :app не видит OkHttp при компиляции, зависимость не протекает. implementation скрывает зависимость от потребителей модуля на этапе компиляции, но она всё равно попадает в рантайм и APK.
Варианты ответа
:appтоже видит классы OkHttp при компиляции, как приapi:appне видит OkHttp при компиляции, зависимость не протекаетправильный ответ- OkHttp не попадёт в итоговый APK, его надо подключить в
:app - Сборка упадёт:
implementationнельзя использовать в библиотеке
Разбор
implementation скрывает зависимость от потребителей модуля на этапе компиляции, но она всё равно попадает в рантайм и APK. Это улучшает инкрементальную сборку и изоляцию. Если публичный API модуля использует типы OkHttp, нужна api, тогда зависимость станет транзитивно видимой. Ошибки сборки нет.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.