在 AGP 8.0 中构建失败,无法应用插件“realm-android”。API“android.registerTransform”已删除

Sid*_*kya 22 android gradle android-gradle-plugin

今天我将 gradle 插件更新到 8.0,我使用领域作为本地数据库,但更新插件后我无法构建项目。

apply plugin: 'realm-android'
Run Code Online (Sandbox Code Playgroud)
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.
Run Code Online (Sandbox Code Playgroud)

我尝试使用 kotlin sdk 但结果是相同的

更新:通过更新领域插件10.14.1-transformer-api-SNAPSHOT修复它

Ame*_*bak 26

2023 年 4 月 21 日更新:

刚刚发布的 10.15.1 应该已修复此问题。将 build.gradle 中的领域类路径更新为:

classpath "io.realm:realm-gradle-plugin:10.15.1"
Run Code Online (Sandbox Code Playgroud)

此处跟踪的问题

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

在此更新之后,您可能会遇到有关 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
Run Code Online (Sandbox Code Playgroud)

此处跟踪的第二个问题


And*_*tto 6

你应该使用:

classpath "io.realm:realm-gradle-plugin:10.15.1"
Run Code Online (Sandbox Code Playgroud)

使用 Android Gradle Plugin 8.0 或更高版本进行编译时