在模块 objectbox-android-2.9.1-runtime

问题描述

我正在 Kotlin 中使用 ObjectBox DB,并希望将 Databrowser 用于 documentation显示的 ObjectBox。在我对 build.gradle 和 manifest 进行更改之前,该项目运行良好。现在,它给出了这样的错误

> FAILURE:构建完成,失败 2 次。

1:任务失败,出现异常。

  • 出了什么问题: 任务“:app:checkDebugDuplicateClasses”执行失败。

执行 com.android.build.gradle.internal.tasks.CheckDuplicatesRunnable 时发生故障 在模块 objectBox-android-2.9.1-runtime (io.objectBox:objectBox-android:2.9.1) 和 objectBox-android-objectbrowser-2.9.1-runtime (io.objectBox :objectBox-android-objectbrowser:2.9.1) 在模块 objectBox-android-2.9.1-runtime (io.objectBox:objectBox-android:2.9.1) 和 objectBox-android-objectbrowser-2.9.1-runtime (io.objectBox :objectBox-android-objectbrowser:2.9.1) 在模块 objectBox-android-2.9.1-runtime (io.objectBox:objectBox-android:2.9.1) 和 objectBox-android-objectbrowser-2.9.1-runtime (io .objectBox:objectBox-android-objectbrowser:2.9.1) 在模块 objectBox-android-2.9.1-runtime (io.objectBox:objectBox-android:2.9.1) 和 objectBox-android-objectbrowser-2.9.1-runtime (io.objectBox :objectBox-android-objectbrowser:2.9.1) 在模块 objectBox-android-2.9.1-runtime (io.objectBox:objectBox-android:2.9.1) 和 objectBox-android-objectbrowser-2.9.1-runtime (io.objectBox :objectBox-android-objectbrowser:2.9.1) 在模块 objectBox-android-2.9.1-runtime (io.objectBox:objectBox-android:2.9.1) 和 objectBox-android-objectbrowser-2.9.1-runtime (io. objectBox:objectBox-android-objectbrowser:2.9.1) 在模块 objectBox-android-2.9.1-runtime (io.objectBox:objectBox-android:2.9.1) 和 objectBox-android-objectbrowser-2.9.1-runtime (io .objectBox:objectBox-android-objectbrowser:2.9.1) 在模块 objectBox-android-2.9.1-runtime (io.objectBox:objectBox-android:2.9.1) 和 objectBox-android-objectbrowser-2.9.1-runtime (io.objectBox :objectBox-android-objectbrowser:2.9.1) 在模块 objectBox-android-2.9.1-runtime (io.objectBox:objectBox-android:2.9.1) 和 objectBox-android-objectbrowser-2.9.1-runtime (io. objectBox:objectBox-android-objectbrowser:2.9.1)

 Go to the documentation to learn how to <a href="d.android.com/r/tools/classpath-sync-errors">Fix dependency resolution errors</a>.
  • 试试: 使用 --stacktrace 选项运行以获取堆栈跟踪。使用 --info 或 --debug 选项运行以获得更多日志输出。使用 --scan 运行以获得完整的见解。 ================================================== ==============================

2:任务失败,出现异常。

  • 出了什么问题: 任务“:app:mergeDebugNativeLibs”执行失败。

执行 com.android.build.gradle.internal.tasks.MergeJavaResWorkAction 时发生故障 找到 2 个文件,路径为“lib/armeabi-v7a/libobjectBox-jni.so”。 如果您使用 jniLibs 和 CMake IMPORTED 目标,请参阅 https://developer.android.com/r/tools/jniLibs-vs-imported-targets

  • 试试: 使用 --stacktrace 选项运行以获取堆栈跟踪。使用 --info 或 --debug 选项运行以获得更多日志输出。使用 --scan 运行以获得完整的见解。 ================================================== ==============================

  • https://help.gradle.org

    获得更多帮助

在 57 秒内构建失败 17 项可操作的任务:7 项已执行,10 项是最新的

之前(毕业)

 plugins {
    id 'com.android.application'
    id 'kotlin-android'
    id 'kotlin-kapt'
    id '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'
    implementation "io.objectBox:objectBox-android:2.9.1"
    implementation "io.objectBox:objectBox-kotlin:2.9.1"

}

AFTER (gradle)

    plugins {
    id 'com.android.application'
    id 'kotlin-android'
    id 'kotlin-kapt' // Only for Kotlin projects.
}

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'
    implementation "io.objectBox:objectBox-android:2.9.1"
    implementation "io.objectBox:objectBox-kotlin:2.9.1"
    debugImplementation "io.objectBox:objectBox-android-objectbrowser:$objectBoxVersion"
    releaseImplementation "io.objectBox:objectBox-android:$objectBoxVersion"

}
apply plugin: 'io.objectBox'

BEFORE(清单)

    <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.projectnamehere">
    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/Theme.ThemeHere">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

AFTER(清单)

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.projectnamehere">
    <!-- required to provide the web interface -->
    <uses-permission android:name="android.permission.INTERNET" />
    <!-- required to run keep-alive service when targeting API 28 or higher -->
    <uses-permission android:name="android.permission.FOREGROUND_SERVICE"/>
    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/Theme.ThereHere">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

解决方法

在 build.gradle 文件中,有两个相同的类,使用相同的库但不同的关键字实现 releaseImplementation "io.objectbox:objectbox-android:$objectboxVersion" 实现“io.objectbox:objectbox-android:2.9.1”