使用ObjectBox
错误日志:
A failure occurred while executing com.android.build.gradle.internal.tasks.CheckDuplicatesRunnable Duplicate class io.objectbox.android.AndroidObjectBrowser found in modules objectbox-android-2.9.1-runtime (io.objectbox:objectbox-android:2.9.1) and objectbox-android-objectbrowser-2.9.1-runtime (io.objectbox:objectbox-android-objectbrowser:2.9.1) Duplicate class io.objectbox.android.AndroidScheduler found in modules objectbox-android-2.9.1-runtime (io.objectbox:objectbox-android:2.9.1) and objectbox-android-objectbrowser-2.9.1-runtime (io.objectbox:objectbox-android-objectbrowser:2.9.1) Duplicate class io.objectbox.android.AndroidScheduler$Runner found in modules objectbox-android-2.9.1-runtime (io.objectbox:objectbox-android:2.9.1) and objectbox-android-objectbrowser-2.9.1-runtime (io.objectbox:objectbox-android-objectbrowser:2.9.1) Duplicate class io.objectbox.android.BuildConfig found in modules objectbox-android-2.9.1-runtime (io.objectbox:objectbox-android:2.9.1) and objectbox-android-objectbrowser-2.9.1-runtime (io.objectbox:objectbox-android-objectbrowser:2.9.1) Duplicate class io.objectbox.android.ObjectBoxDataSource found in modules objectbox-android-2.9.1-runtime (io.objectbox:objectbox-android:2.9.1) and objectbox-android-objectbrowser-2.9.1-runtime (io.objectbox:objectbox-android-objectbrowser:2.9.1) Duplicate class io.objectbox.android.ObjectBoxDataSource$1 found in modules objectbox-android-2.9.1-runtime (io.objectbox:objectbox-android:2.9.1) and objectbox-android-objectbrowser-2.9.1-runtime (io.objectbox:objectbox-android-objectbrowser:2.9.1) Duplicate class io.objectbox.android.ObjectBoxDataSource$Factory found in modules objectbox-android-2.9.1-runtime (io.objectbox:objectbox-android:2.9.1) and objectbox-android-objectbrowser-2.9.1-runtime (io.objectbox:objectbox-android-objectbrowser:2.9.1) Duplicate class io.objectbox.android.ObjectBoxLiveData found in modules objectbox-android-2.9.1-runtime (io.objectbox:objectbox-android:2.9.1) and objectbox-android-objectbrowser-2.9.1-runtime (io.objectbox:objectbox-android-objectbrowser:2.9.1) Duplicate class io.objectbox.android.ObjectBoxLiveData$1 found in modules objectbox-android-2.9.1-runtime (io.objectbox:objectbox-android:2.9.1) and objectbox-android-objectbrowser-2.9.1-runtime (io.objectbox:objectbox-android-objectbrowser:2.9.1)
解决方案:修改app的gradle配置文件:
修改前的gradle:
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: "io.objectbox"
android {
compileSdkVersion 30
defaultConfig {
applicationId "com.example.projectnamehere"
minSdkVersion 21
targetSdkVersion 30
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = '1.8'
}
}
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
implementation 'androidx.core:core-ktx:1.6.0'
implementation 'androidx.appcompat:appcompat:1.3.0'
implementation 'com.google.android.material:material:1.4.0'
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
// 添加objectbox 查看依赖
debugImplementation "io.objectbox:objectbox-android-objectbrowser:3.5.1"
releaseImplementation "io.objectbox:objectbox-android:3.5.1"
}
修改后:
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
android {
compileSdkVersion 30
defaultConfig {
applicationId "com.example.projectnamehere"
minSdkVersion 21
targetSdkVersion 30
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = '1.8'
}
}
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
implementation 'androidx.core:core-ktx:1.6.0'
implementation 'androidx.appcompat:appcompat:1.3.0'
implementation 'com.google.android.material:material:1.4.0'
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
// 添加objectbox 查看依赖
debugImplementation "io.objectbox:objectbox-android-objectbrowser:3.5.1"
releaseImplementation "io.objectbox:objectbox-android:3.5.1"
}
apply plugin: "io.objectbox" //必须放到这里
主要是修改了 apply plugin: "io.objectbox" //必须放到这里
放到app 的gradle配置文件的最后一行,
奇葩,奇葩,奇葩!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!