未解决的参考:使用 greendao 和 kotlin 的 DaoSession
Unresolved reference: DaoSession using greendao and kotlin
我正在尝试将用 java 编写的 android 项目转换为 kotlin。我的 greendao class 是在我每次构建时生成的,我收到一条 Unresolved reference: DaoSession
错误消息。我有
kapt { generateStubs = true }
在我的构建 gradle 代码中。
这是由于 Greendao 在 默认路径"app/build/generated/source/greendao/" 生成 DaoSession 和其他 Dao 文件造成的,不能被科特林发现。
因此,您只需要通过 将此代码添加到您的模块 Gradle 文件:
来更改 Dao 路径
greendao {
targetGenDir 'src/main/java'
}
然后,您会发现在您的项目路径'src/main/java'中生成了DaoSesson.java这样的Dao文件。现在 Kotlin 可以找到 DaoSession。
希望能帮到你。
将您的 greendao
插件移到您的应用 kotlin
插件之前 build.gradle,如下所示:
apply plugin: 'org.greenrobot.greendao'
apply plugin: 'kotlin-kapt'
apply plugin: 'kotlin-android'
注意:如果您的实体 类 是用 Java 编写的,要在您的 Kotlin 类 中使用生成的 greenDAO 文件,您目前可能必须手动添加为 Kotlin 生成的源文件夹编译成功:
android {
...
sourceSets {
main.java.srcDirs += 'build/generated/source/greendao'
}
}
来源:https://github.com/greenrobot/greenDAO/issues/395
此外,请参阅 0xAliHn 答案:移动
apply plugin: 'org.greenrobot.greendao'
以上 kotlin 插件
我正在尝试将用 java 编写的 android 项目转换为 kotlin。我的 greendao class 是在我每次构建时生成的,我收到一条 Unresolved reference: DaoSession
错误消息。我有
kapt { generateStubs = true }
在我的构建 gradle 代码中。
这是由于 Greendao 在 默认路径"app/build/generated/source/greendao/" 生成 DaoSession 和其他 Dao 文件造成的,不能被科特林发现。
因此,您只需要通过 将此代码添加到您的模块 Gradle 文件:
来更改 Dao 路径greendao {
targetGenDir 'src/main/java'
}
然后,您会发现在您的项目路径'src/main/java'中生成了DaoSesson.java这样的Dao文件。现在 Kotlin 可以找到 DaoSession。
希望能帮到你。
将您的 greendao
插件移到您的应用 kotlin
插件之前 build.gradle,如下所示:
apply plugin: 'org.greenrobot.greendao'
apply plugin: 'kotlin-kapt'
apply plugin: 'kotlin-android'
注意:如果您的实体 类 是用 Java 编写的,要在您的 Kotlin 类 中使用生成的 greenDAO 文件,您目前可能必须手动添加为 Kotlin 生成的源文件夹编译成功:
android {
...
sourceSets {
main.java.srcDirs += 'build/generated/source/greendao'
}
}
来源:https://github.com/greenrobot/greenDAO/issues/395
此外,请参阅 0xAliHn 答案:移动
apply plugin: 'org.greenrobot.greendao'
以上 kotlin 插件