Android Studio中Gradle插件与Realm 1.2.0版本冲突求助
解决Realm 1.2.0与Android Gradle Plugin 3.1.2的兼容性问题
Realm 1.2.0是比较早期的版本,它默认依赖已被AGP 3.x弃用的android-apt插件,这就是你遇到冲突的核心原因。下面是具体的适配步骤:
1. 移除android-apt插件依赖
首先检查你的项目级和模块级build.gradle文件,移除所有与android-apt相关的配置:
- 项目级
build.gradle:删除classpath 'com.neenbedankt.gradle.plugins:android-apt:xxx'这类行 - 模块级
build.gradle:删除apply plugin: 'android-apt'这一行
2. 调整Realm依赖配置
将原来的compile替换为implementation,并手动指定Realm的注解处理器为annotationProcessor(代替原来的apt配置):
// 模块级build.gradle dependencies { // 替换原来的compile为implementation implementation 'io.realm:realm-android:1.2.0' // 添加注解处理器依赖,使用annotationProcessor代替apt annotationProcessor 'io.realm:realm-annotation-processor:1.2.0' }
3. 配置Realm插件以适配新注解处理器
在模块级build.gradle中,确保Realm插件的配置不会自动启用apt。你可以在defaultConfig里添加Java编译选项,明确指定注解处理器:
android { defaultConfig { // ...其他配置 javaCompileOptions { annotationProcessorOptions { arguments = ["realm.annotations.package": "你的包名"] } } } }
额外注意事项
- 清理并重建项目:执行
File > Clean Project和File > Rebuild Project,确保旧的apt缓存被清除 - 如果你之前用
RealmConfiguration有特殊配置,保持原有代码不变即可,核心是依赖配置的调整
这样修改后,Realm 1.2.0就能适配AGP 3.1.2的注解处理器机制,解决android-apt冲突和compile过时的问题。
内容的提问来源于stack exchange,提问作者Sunit Samanta
相关产品推荐
相关产品推荐

