【问题标题】:Realm & Kotlin: DefaultRealmModuleMediator.java -> error: unreachable statementRealm 和 Kotlin:DefaultRealmModuleMediator.java -> 错误:无法访问的语句
【发布时间】:2023-03-22 05:49:01
【问题描述】:

我正在使用 Kotlin 和 Realm。当我尝试构建包含 Java 和 Kotlin 文件的项目时,DefaultRealmModuleMediator.java 中出现以下错误:

 error: unreachable statement

【问题讨论】:

    标签: android realm kotlin


    【解决方案1】:

    解决方案: 在您的 (Project: ProjectName) gradle.build 文件中更新 Realm 的版本。使用 3.3.0 版本效果很好:

    dependencies {
         ...
         classpath 'io.realm:realm-gradle-plugin:3.3.0'
         ...
    }
    

    仅当这不能解决问题时,请尝试以下选项:


    选项 1: 在您的 Module:app gradle.build 中更改 Kotlin 和 Realm 插件的顺序。

    从这里:

    apply plugin: 'kotlin-android'
    apply plugin: 'realm-android'
    

    到这里:

    apply plugin: 'realm-android'
    apply plugin: 'kotlin-android'
    

    选项 2:在您的 build.sript 中,如果您有:

    compileOptions {
        incremental true
    }
    

    改成false:

    compileOptions {
        incremental false
    }
    

    【讨论】:

    • realm-android 应该是 after kotlin-android,据我所知。事实上,通常它的顺序是kotlin-android,然后是kotlin-kapt,然后是realm-android....我也见过kapt { generateStubs = true },虽然我不确定它是做什么的。
    • 如果 Realm 在 Kotlin 之后使用 'realm-gradle-plugin:2.0.0' 你会在 DefaultRealmModuleMediator.java 中得到 'error: unreachable statement'
    • 啊,是的,因为在 2.2.0 中添加了 kapt 支持,请参阅 github.com/realm/realm-java/blob/master/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-10-31
    • 1970-01-01
    • 2018-03-02
    • 2017-12-08
    • 1970-01-01
    • 2016-03-30
    • 1970-01-01
    相关资源
    最近更新 更多