gpt4 book ai didi

android - MyObjectBox 不是在 kotlin 中生成的(objectbox 库)

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:56:27 24 4
gpt4 key购买 nike

我正在尝试使用对象库。

我阅读了官方文档并按照说明进行操作。但是,它仍然不起作用。

问题是当我尝试初始化 boxStore 对象时,我没有找到 MyObjectBox 类。

val boxStore = MyObjectBox.builder().androidContext(this).build()

这是我的应用程序模块。build.gradle(应用模块)

apply plugin: 'com.android.application'

apply plugin: 'kotlin-android'

apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'

apply plugin: 'io.objectbox'

android {
compileSdkVersion 26
defaultConfig {
....
}
buildTypes {
release {
....
}
}

sourceSets {
main.java.srcDirs += 'src/main/java'
}
}

kapt {
generateStubs = true

arguments {
arg("objectbox.debug", true)
}
}

dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation"org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"

... other dependencies

//object box
implementation "io.objectbox:objectbox-android:$objectboxVersion"
// some useful Kotlin extension functions
implementation "io.objectbox:objectbox-kotlin:$objectboxVersion"
kapt "io.objectbox:objectbox-processor:$objectboxVersion"

}

这是我的项目模块:build.gradle(项目)

buildscript {
ext.kotlin_version = '1.2.10'
//all version
ext.support_version = '26.1.0'
ext.objectboxVersion = '1.3.3'

repositories {
google()
jcenter()
maven { url "http://objectbox.net/beta-repo/" }
}
dependencies {
classpath 'com.android.tools.build:gradle:3.0.1'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"

// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files

//object box
classpath "io.objectbox:objectbox-gradle-plugin:$objectboxVersion"
}
}

allprojects {
repositories {
google()
jcenter()
maven { url 'https://maven.google.com' }
maven { url "http://objectbox.net/beta-repo/" }
}
}

task clean(type: Delete) {
delete rootProject.buildDir
}

我正在几个项目中寻找可能的解决方案。我也关注官方演示应用程序。但是,它仍然对我不起作用?

谁能帮我解决这个问题?

最佳答案

我想我终于找到了解决方案:重要的部分是你必须在 kotlin-gradle-plugin 之上编写 objectbox-gradle-plugin项目级别的 gradle 文件,代码如下所示:

classpath 'com.android.tools.build:gradle:3.2.1'
classpath "io.objectbox:objectbox-gradle-plugin:$objectboxVersion"
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"

之后,在app-level gradle中的other apply plugin:...下添加如下行

apply plugin: 'kotlin-kapt'
apply plugin: 'io.objectbox'

最重要的,你至少要创建一个@Entity类,然后重新构建工程,MyObjectBox就会出现。

关于android - MyObjectBox 不是在 kotlin 中生成的(objectbox 库),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48036505/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com