Ошибка сборки в AGP 8.0, не удалось применить плагин «realm-android». API android.registerTransform удален

Сегодня я обновил плагин Gradle до версии 8.0, я использую область для локальной базы данных, но после обновления плагина я не могу собрать проект.

apply plugin: 'realm-android'
FAILURE: Build completed with 2 failures.

1: Task failed with an exception.
-----------
* Where:
Build file 'C:\Work\rc_android_projects\synco\app\build.gradle' line: 15

* What went wrong:
A problem occurred evaluating project ':app'.
> Failed to apply plugin 'realm-android'.
   > API 'android.registerTransform' is removed.
     
     For more information, see https://developer.android.com/studio/releases/gradle-plugin-api-updates#transform-api.
     To determine what is calling android.registerTransform, use -Pandroid.debug.obsoleteApi=true on the command line to display more information.

* Try:
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.

я пытался использовать kotlin sdk, но результат тот же

Обновление: исправлено путем обновления плагина области 10.14.1-transformer-api-SNAPSHOT.

пожалуйста, добавьте комментарий, если вы нашли решение

Amer Alzibak 16.04.2023 17:12

Привет, Амер, я исправил это, добавив путь к классам "io.realm:realm-gradle-plugin:10.14.1-transformer-api-SNAPSH‌​OT" на уровне проекта build.gradle.

Siddharth Shakya 18.04.2023 08:08
6
2
1 071
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Обновление от 21.04.2023:

Это должно быть исправлено в версии 10.15.1, которая была только что выпущена. обновите путь к классам вашей области в build.gradle следующим образом:

classpath "io.realm:realm-gradle-plugin:10.15.1"

проблема отслеживается здесь

================================================== ======

После этого обновления вы можете столкнуться с другими проблемами, связанными с вашим JDK:

Причина: класс io.realm.processor.Utils (в безымянном модуле @0x38d68d7c) не может получить доступ к классу com.sun.tools.javac.code.Symbol$ClassSymbol (в модуль jdk.compiler), потому что модуль jdk.compiler не экспортирует com.sun.tools.javac.code для безымянного модуля @0x38d68d7c

решается путем редактирования свойства org.gradle.jvmargs в gradle.properties:

org.gradle.jvmargs= ... --add-opens=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED

Второй выпуск отслеживается здесь

Вы должны использовать:

classpath "io.realm:realm-gradle-plugin:10.15.1"

при компиляции с Android Gradle Plugin 8.0 или новее

Версия 10.15.0 была выпущена слишком быстро и в конце концов оказалась неработоспособной. Версия 10.15.1 теперь доступна на Maven Central и содержит переписанные проблемные API, поэтому должна корректно работать с Java 17.

Amer Alzibak 25.04.2023 16:21

Другие вопросы по теме