集成ObjectBox插件后构建项目未生成代码及数据库文件问题
ObjectBox未生成模型文件及MyObjectBox类的排查方案
检查Entity类的注解是否规范
必须给实体类加上@Entity注解,且类需为public权限,示例:@Entity public class User { @Id public long id; public String name; }注意
@Id字段类型必须是long(若用Long需额外设置@Id(assignable = true)),实体类不能是抽象类、非静态内部类。确认build.gradle的插件配置是否完整
- 项目根目录build.gradle:需添加ObjectBox的classpath,版本要匹配最新稳定版,示例:
buildscript { dependencies { classpath "io.objectbox:objectbox-gradle-plugin:3.7.1" } } - 模块(app)build.gradle:必须在Android插件之后应用ObjectBox插件,示例:
旧版plugins { id 'com.android.application' id 'io.objectbox' }apply plugin写法需保证apply plugin: 'io.objectbox'在apply plugin: 'com.android.application'之后。
- 项目根目录build.gradle:需添加ObjectBox的classpath,版本要匹配最新稳定版,示例:
手动触发完整构建而非仅同步
仅同步Gradle不会触发ObjectBox的代码生成任务,需执行完整构建:- 右侧Gradle面板找到app模块 → Tasks → build → 依次双击
clean和build - 或终端执行命令:
./gradlew clean build
- 右侧Gradle面板找到app模块 → Tasks → build → 依次双击
开启Android Studio注解处理器
打开File → Settings → Build, Execution, Deployment → Compiler → Annotation Processors,勾选"Enable annotation processing"。清理缓存并重启IDE
执行File → Invalidate Caches... → 勾选"Clear file system cache and local history",点击"Invalidate and Restart",解决缓存导致的代码生成异常。检查包名与Entity类位置
MyObjectBox会生成在应用主包名下,需保证AndroidManifest.xml的package属性与主包名一致,Entity类需放在主包或其子包内。确保依赖版本完全匹配
ObjectBox插件版本与io.objectbox:objectbox-android依赖版本必须完全一致,不能出现版本差异。
内容的提问来源于stack exchange,提问作者DMarMon
相关产品推荐
相关产品推荐

