Android Studio Java应用Realm syncEnabled配置报错:属性为私有
解决Realm syncEnabled私有属性报错问题
问题原因
Realm插件在后续版本中调整了配置API,syncEnabled字段已改为私有,无法直接在realm块中赋值,需要使用新的嵌套配置语法。
解决方案
1. 确认项目级插件配置(根目录build.gradle)
确保已引入正确版本的Realm插件:
plugins { id "com.android.application" version "7.4.2" apply false id "io.realm.kotlin" version "1.10.0" apply false // 兼容Java项目 }
2. 配置App级build.gradle
- 先应用Realm插件:
plugins { id "com.android.application" id "io.realm.kotlin" }
- 替换原有的
realm配置块为嵌套的sync配置:
realm { sync { enabled = true // 正确开启Sync的配置方式 } }
3. 添加Sync依赖
在dependencies块中引入Realm Sync的依赖(根据项目类型选择):
dependencies { // Java项目适配依赖 implementation "io.realm:realm-android-library-sync:10.15.1" // 若使用Kotlin插件兼容Java,也可选择此依赖 // implementation "io.realm.kotlin:library-sync:1.10.0" }
4. 同步项目
点击Android Studio右上角的Sync Now按钮,等待同步完成后报错即可消失。
额外检查
- 确保Realm插件和依赖的版本保持一致,避免版本不兼容问题。
- 若之前手动添加过旧版Realm插件的类路径(如根目录build.gradle的
buildscript块),建议移除,改用新版plugins块配置方式。
内容的提问来源于stack exchange,提问作者Juan Martinez
相关产品推荐
相关产品推荐

