Что отличает подключение Gradle модуля с помощью api от метода implementation?

В Gradle различие между api и implementation заключается в области видимости зависимостей:

Короткий ответ

Что ответить на собеседовании

В Gradle различие между api и implementation заключается в области видимости зависимостей:

Подробный разбор

Ответ с пояснениями

В Gradle различие между api и implementation заключается в области видимости зависимостей:

  • api — зависимости, объявленные с этим модификатором, становятся частью API модуля и видны модулям, которые зависят от него. То есть, если модуль A подключает модуль B через api, то зависимости модуля B, объявленные с api, будут доступны и модулю A.
  • implementation — зависимости, объявленные с этим модификатором, используются только внутри самого модуля и не видны внешним модулям. Это улучшает время сборки, так как изменения в таких зависимостях не требуют перекомпиляции модулей, которые от них зависят.

Пример:

dependencies {
    api 'com.example:library-api:1.0'
    implementation 'com.example:library-impl:1.0'
}

Здесь library-api будет видна внешним модулям, а library-impl — нет.

Практика в реальном времени

Подготовьтесь к следующему собеседованию

Interview Boost учитывает вакансию, резюме и технологии и помогает сформулировать ответ прямо во время интервью.

Начать подготовку