来自androidx.core:core:1.0.0和com.android.support:support-compat:26.1.0的重复类

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了来自androidx.core:core:1.0.0和com.android.support:support-compat:26.1.0的重复类相关的知识,希望对你有一定的参考价值。

这是我的build.gradle

buildscript {
    repositories {
        maven { url 'https://maven.fabric.io/public' }
    }

    dependencies {
        classpath 'io.fabric.tools:gradle:1.+'
    }
}
apply plugin: 'com.android.application'
apply plugin: 'io.fabric'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'

repositories {
    maven { url 'https://maven.fabric.io/public' }
    google()
}


android {
    compileSdkVersion 26
    buildToolsVersion '26.0.2'
    useLibrary 'org.apache.http.legacy'
    defaultConfig {
        multiDexEnabled true
        minSdkVersion 16
        targetSdkVersion 26
        compileOptions {
            sourceCompatibility JavaVersion.VERSION_1_7
            targetCompatibility JavaVersion.VERSION_1_7
        }
        renderscriptTargetApi 22
        renderscriptSupportModeEnabled true
    }
    buildTypes {
        debug {
            debuggable true
            buildConfigField "boolean", "CRASH_LOGGING", "true"
            applicationIdSuffix ".dev"
        }
        release {
            debuggable false
            buildConfigField "boolean", "CRASH_LOGGING", "true"
            minifyEnabled true
            proguardFiles 'proguard-project.txt'
        }
    }

    flavorDimensions "regular"

    dexOptions {
        javaMaxHeapSize "4g"
    }
}

dependencies {
    compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
    compile 'com.android.support:multidex:1.0.2'
    compile 'com.android.support:design:26.1.0'
    compile 'com.android.support:recyclerview-v7:26.1.0'
    compile 'com.android.support:appcompat-v7:26.1.0'
    compile 'com.android.support:cardview-v7:26.1.0'
    implementation "com.android.support:support-compat:26.1.0"
    compile 'com.google.android.gms:play-services-auth:16.0.1'
    compile 'com.google.android.gms:play-services-ads:11.8.0'

    compile('com.thoughtworks.xstream:xstream:1.4.7') {
        exclude group: 'xmlpull', module: 'xmlpull'
    }
    compile 'org.apache.commons:commons-lang3:3.6'
    compile 'joda-time:joda-time:2.9.9'
    compile('org.simpleframework:simple-xml:2.7.1') {
        exclude module: 'stax'
        exclude module: 'stax-api'
        exclude module: 'xpp3'
    }
    compile group: 'com.google.code.gson', name: 'gson', version: '2.7'

    // UI & VIEWS
    compile 'com.tuyenmonkey:mkloader:1.4.0'
    compile 'com.mikhaellopez:circularimageview:3.0.2'
    compile 'com.github.mmin18:realtimeblurview:1.1.0'
    compile 'com.github.PhilJay:ValueBar:v1.0.2'

    // IMAGE HANDLING
    compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.5'

    // NETWORK HANDLING
    compile 'com.android.volley:volley:1.0.0'
    compile 'com.squareup.okhttp3:okhttp:3.9.0'

    //RETORFIT
    compile 'com.squareup.retrofit2:retrofit:2.3.0'
    compile 'com.squareup.retrofit2:converter-gson:2.3.0'
    compile('com.squareup.retrofit2:converter-simplexml:2.3.0') {
        exclude module: 'stax'
        exclude module: 'stax-api'
        exclude module: 'xpp3'
    }
    compile 'com.squareup.retrofit2:converter-scalars:2.3.0'

    // FABRIC
    compile('com.crashlytics.sdk.android:crashlytics:2.7.1@aar') {
        transitive = true;
    }

    // ADS
    compile 'com.flurry.android:analytics:8.2.0@aar'
    compile 'com.appbrain:appbrain-sdk:14.60@aar'
    compile(name: 'android-ad-sdk', ext: 'aar')
    compile(name: 'SOMAAndroid-9.1.5-release', ext: 'aar')
    compile 'com.applovin:applovin-sdk:+'

    compile 'com.android.support.constraint:constraint-layout:1.0.2'

    samsungDebugImplementation files('libs/sdk-v1.0.0.jar')
    samsungDebugImplementation files('libs/motion-v2.2.2.jar')
    samsungReleaseImplementation files('libs/sdk-v1.0.0.jar')
    samsungReleaseImplementation files('libs/motion-v2.2.2.jar')

    //debug DB
    debugCompile 'com.amitshekhar.android:debug-db:1.0.1'

}

apply plugin: 'com.google.gms.google-services'

当我升级此行时:

compile 'com.google.android.gms:play-services-ads:18.3.0'

我收到此错误:

Duplicate class android.support.v4.app.INotificationSideChannel found in modules core-1.0.0-runtime.jar (androidx.core:core:1.0.0) and support-compat-26.1.0-runtime.jar (com.android.support:support-compat:26.1.0)
Duplicate class android.support.v4.app.INotificationSideChannel$Stub found in modules core-1.0.0-runtime.jar (androidx.core:core:1.0.0) and support-compat-26.1.0-runtime.jar (com.android.support:support-compat:26.1.0)
Duplicate class android.support.v4.app.INotificationSideChannel$Stub$Proxy found in modules core-1.0.0-runtime.jar (androidx.core:core:1.0.0) and support-compat-26.1.0-runtime.jar (com.android.support:support-compat:26.1.0)
Duplicate class android.support.v4.os.IResultReceiver found in modules core-1.0.0-runtime.jar (androidx.core:core:1.0.0) and support-compat-26.1.0-runtime.jar (com.android.support:support-compat:26.1.0)
Duplicate class android.support.v4.os.IResultReceiver$Stub found in modules core-1.0.0-runtime.jar (androidx.core:core:1.0.0) and support-compat-26.1.0-runtime.jar (com.android.support:support-compat:26.1.0)
Duplicate class android.support.v4.os.IResultReceiver$Stub$Proxy found in modules core-1.0.0-runtime.jar (androidx.core:core:1.0.0) and support-compat-26.1.0-runtime.jar (com.android.support:support-compat:26.1.0)
Duplicate class android.support.v4.os.ResultReceiver found in modules core-1.0.0-runtime.jar (androidx.core:core:1.0.0) and support-compat-26.1.0-runtime.jar (com.android.support:support-compat:26.1.0)
Duplicate class android.support.v4.os.ResultReceiver$1 found in modules core-1.0.0-runtime.jar (androidx.core:core:1.0.0) and support-compat-26.1.0-runtime.jar (com.android.support:support-compat:26.1.0)
Duplicate class android.support.v4.os.ResultReceiver$MyResultReceiver found in modules core-1.0.0-runtime.jar (androidx.core:core:1.0.0) and support-compat-26.1.0-runtime.jar (com.android.support:support-compat:26.1.0)
Duplicate class android.support.v4.os.ResultReceiver$MyRunnable found in modules core-1.0.0-runtime.jar (androidx.core:core:1.0.0) and support-compat-26.1.0-runtime.jar (com.android.support:support-compat:26.1.0)

这是build.gradle文件:

// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
    ext.kotlin_version = "1.3.10"
    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.5.2'
        classpath 'com.google.gms:google-services:4.3.2'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        classpath "org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version"
    }
}

allprojects {
    repositories {
        jcenter()
        flatDir {
            dirs 'libs'
        }

        // For MobFox
        maven {
            url "https://jitpack.io"
        }
        // For AppBrain SDK
        maven {
            url 'http://swisscodemonkeys.github.io/appbrain-sdk/maven'
        }
    }
}

任何想法都会导致此重复错误吗?我该如何解决?

答案

在您的gradle.properties中添加

android.useAndroidX=true
android.enableJetifier=true
另一答案

您同时使用supportAndroidX依赖性,这是不允许的。请尝试Refactor>迁移到AndroidX,然后按DoRefactor

以上是关于来自androidx.core:core:1.0.0和com.android.support:support-compat:26.1.0的重复类的主要内容,如果未能解决你的问题,请参考以下文章

androidx.appcompat.widget.SearchView 无法转换为 androidx.core.view.ActionProvider

Androidx和Android support库共存问题解决

包 androidx.core.content 不存在

使用flutter_local_notifications和位置包的flutter错误“Android依赖'androidx.core:core'有不同的版本”

如何在非 AndroidX 应用程序中集成任何 AndroidX SDK

由于 androidx.core 库不匹配,无法构建项目