Обновления Gradle и плагина Android Gradle
Обновите версии Gradle и плагина Android Gradle
Сначала обновите Gradle и плагин Android Gradle. В этом обновлении улучшена совместимость с некоторыми зависимостями SDK (включая Kotlin 1.9), а также внесены критические исправления ошибок.
Для этого основного выпуска SDK требуются следующие зависимости версий в проекте приложения для Android:
- Gradle версии не ниже 7.5.0, но не выше 7.6.0.
- плагин Android Gradle (AGP) версии 7.4.x.
Вы можете использовать более новые версии плагинов, но в этом случае могут появляться предупреждения о прекращении поддержки или некоторые новые функции могут не работать.
Чтобы изменить версию Gradle, измените строку в файле /gradle/wrapper/gradle-wrapper.properties проекта.
distributionUrl=https\://services.gradle.org/distributions/gradle-7.5.1-all.zip
Чтобы изменить версию плагина Android Gradle, измените файл build.gradle, содержащий блок buildscript. Пример:
buildscript {
repositories {
google()
mavenCentral()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:7.4.1'
}
}
Переход с Java 7 на Java 8
Шаг 1. Включите поддержку библиотеки Java 8
Поскольку минимальный уровень API SDK – 23, а требуемая версия AGP – 7.4+, конфигурация немного отличается от указанной в исходной документации.
buildscript {
repositories {
google()
mavenCentral()
jcenter()
maven {
url = uri("https://storage.googleapis.com/r8-releases/raw")
}
}
dependencies {
classpath 'com.android.tools:r8:8.0.46'
classpath 'com.android.tools.build:gradle:7.4.1'
}
}
android {
compileOptions {
// Flag to enable support for the new language APIs
coreLibraryDesugaringEnabled true
// Sets Java compatibility to Java 8
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
dependencies {
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs_nio:2.0.3'
}
Шаг 2. Перейдите с Proguard или Dexguard на R8
В AGP версии 7.4 и более поздних R8 используется по умолчанию для сжатия, обфускации и оптимизации двоичного кода, поэтому никаких дополнительных действий не требуется.
Если проект перенесен из AGP 4.0+, AGP может выдать следующие предупреждения об удалении файлов:
- Использование
useProguard trueв файлеbuild.gradle - Использование
android.enableR8=falseв файлеgradle.properties
Удаление этих строк обычно решает проблему.
Переход с Kotlin 1.6 на 1.9
Шаг 1. Перейдите на Kotlin Gradle Plugin 1.9.0
Обновите версию плагина Kotlin Gradle в файле build.gradle модуля верхнего уровня приложения. Если в блоке buildscript нет зависимости org.jetbrains.kotlin:kotlin-gradle-plugin, добавьте ее.
buildscript {
dependencies {
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.0"
}
}
Если вы используете Kotlin Gradle Plugin версии 1.6.X или 1.7.X, вам необходимо перенести приложение с Kotlin-synthetics. Дополнительную информацию можно найти в официальном руководстве по переносу.
Шаг 2. Обновите kotlin-stdlib до версии 1.9.0
Обновите kotlin-stblib до версии 1.9.0 в файле build.gradle приложения.
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib:1.9.0"
}
Удалите все упоминания kotlin-stdlib-jdk7 или kotlin-stdlib-jdk8. Начиная с Kotlin 1.8.0 обе зависимости объединены в kotlin-stdlib.