Ответ
Common targets в Gradle — это конфигурации, которые определяют, как собирать и публиковать артефакты (например, .aar или .jar). Они включают:
implementation— зависимости для текущего модуля (не транзитивные).api— зависимости, доступные и для модуля, и для зависимых от него (транзитивные).compileOnly— зависимости только для компиляции (не включаются в APK).runtimeOnly— зависимости только для runtime (не для компиляции).
Пример:
dependencies {
implementation("androidx.core:core-ktx:1.9.0")
api("com.google.code.gson:gson:2.10")
compileOnly("org.jetbrains:annotations:23.0.0")
}
Нюансы:
apiможет привести к увеличению размера APK из-за транзитивности.compileOnlyполезно для аннотаций или кодогенерации.