-
-
Notifications
You must be signed in to change notification settings - Fork 4
Gradle
Important
ВНИМАНИЕ!
ЭТОТ РАЗДЕЛ БОЛЬШЕ НЕ ПОДДЕРЖИВАЕТСЯ!
РОАДМАП ПЕРЕЕХАЛ В NOTION
Gradle
Система автоматической сборки проектов
kapt
Обработчики аннотаций поддерживаются с помощью плагина кампилятора kapt (замена annotationProcessor). Kapt использует компилятор Java для запуска обработчиков аннотаций
ksp
Kotlin Symbol Processing - используется для легковесных подключаемых модулей. Работает до 2 раз быстрее kapt, не привязан к JVM, минимизирует время сборки
# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
org.gradle.parallel=true
# AndroidX package structure to make it clearer which packages are bundled with the
# Android operating system, and which are packaged with your app"s APK
# https://developer.android.com/topic/libraries/support-library/androidx-rn
android.useAndroidX=true
# Automatically convert third-party libraries to use AndroidX
android.enableJetifier=true
# Kotlin code style for this project: "official" or "obsolete"
kotlin.code.style=official
# Access to all resources in all modules
android.nonTransitiveRClass=false
# Disable unused features for all project
android.defaults.buildFeatures.aidl=false
android.defaults.buildFeatures.buildConfig=false
android.defaults.buildFeatures.compose=false
android.defaults.buildFeatures.dataBinding=false
android.defaults.buildFeatures.prefab=false
android.defaults.buildFeatures.renderScript=false
android.defaults.buildFeatures.resValues=false
android.defaults.buildFeatures.shaders=false
android.defaults.buildFeatures.viewBinding=false
Настраиваемые варианты сборки, для создания разных версий приложения из одного проекта. Gradle использует определенный набор правил для объединения настроек, кода и ресурсов, настроенных в ваших типах сборки и вариантах продукта
buildTypes {
release {
isMinifyEnabled = true
proguardFiles(getDefaultProguardFile("proguard-android.txt"), "proguard-rules.pro")
}
debug {
applicationIdSuffix = ".debug"
isDebuggable = true
}
qa {
initWith(getByName("debug"))
manifestPlaceholders["hostName"] = "internal.example.com"
applicationIdSuffix = ".debugStaging"
}
}
flavorDimensions += "version"
productFlavors {
demo {
dimension = "version"
applicationIdSuffix = ".demo"
versionNameSuffix = "-demo"
}
full {
dimension = "version"
applicationIdSuffix = ".full"
versionNameSuffix = "-full"
}
}
def buildType = gradle.startParameter.taskNames.any {
it.toLowerCase().contains("debug")
} ? "debug" : "release"
Home • Interviews • Android Architecture • Android Jetpack • Android Jetpack Compose • Android Releases • Android SDK • Android Views • Basic • Design • Git • GitHub • Gradle • Java • Kotlin • Kotlin Coroutines • RxJava