Java 升级安卓版本后获得;重复类android.support.v4.app.INotificationSideChannel“;

Java 升级安卓版本后获得;重复类android.support.v4.app.INotificationSideChannel“;,java,android,android-gradle-plugin,build.gradle,Java,Android,Android Gradle Plugin,Build.gradle,在android update 3.4之前,我的应用程序运行良好,但在升级android之后,我的应用程序出现合并错误: "Duplicate class android.support.v4.app.INotificationSideChannel" android update 3.4 upgrade gradle 5.1.1 upgrade sdk Error: Duplicate class android.support.v4.app.INotificationSideC

在android update 3.4之前,我的应用程序运行良好,但在升级android之后,我的应用程序出现合并错误:

"Duplicate class android.support.v4.app.INotificationSideChannel"

android update 3.4
upgrade gradle 5.1.1 
upgrade sdk

Error:
    Duplicate class android.support.v4.app.INotificationSideChannel found in modules classes.jar (androidx.core:core:1.0.0) and classes.jar (com.android.support:support-compat:28.0.0)
    Duplicate class android.support.v4.app.INotificationSideChannel$Stub found in modules classes.jar (androidx.core:core:1.0.0) and classes.jar (com.android.support:support-compat:28.0.0)
    Duplicate class android.support.v4.app.INotificationSideChannel$Stub$Proxy found in modules classes.jar (androidx.core:core:1.0.0) and classes.jar (com.android.support:support-compat:28.0.0)
    Duplicate class android.support.v4.graphics.drawable.IconCompatParcelizer found in modules classes.jar (androidx.core:core:1.0.0) and classes.jar (com.android.support:support-compat:28.0.0)
    Duplicate class android.support.v4.os.IResultReceiver found in modules classes.jar (androidx.core:core:1.0.0) and classes.jar (com.android.support:support-compat:28.0.0)
    Duplicate class android.support.v4.os.IResultReceiver$Stub found in modules classes.jar (androidx.core:core:1.0.0) and classes.jar (com.android.support:support-compat:28.0.0)
    Duplicate class android.support.v4.os.IResultReceiver$Stub$Proxy found in modules classes.jar (androidx.core:core:1.0.0) and classes.jar (com.android.support:support-compat:28.0.0)
    Duplicate class android.support.v4.os.ResultReceiver found in modules classes.jar (androidx.core:core:1.0.0) and classes.jar (com.android.support:support-compat:28.0.0)
    Duplicate class android.support.v4.os.ResultReceiver$1 found in modules classes.jar (androidx.core:core:1.0.0) and classes.jar (com.android.support:support-compat:28.0.0)
    Duplicate class android.support.v4.os.ResultReceiver$MyResultReceiver found in modules classes.jar (androidx.core:core:1.0.0) and classes.jar (com.android.support:support-compat:28.0.0)
    Duplicate class android.support.v4.os.ResultReceiver$MyRunnable found in modules classes.jar (androidx.core:core:1.0.0) and classes.jar (com.android.support:support-compat:28.0.0)
    Duplicate class androidx.core.graphics.drawable.IconCompatParcelizer found in modules classes.jar (androidx.core:core:1.0.0) and classes.jar (com.android.support:support-compat:28.0.0)
    Duplicate class androidx.core.internal.package-info found in modules classes.jar (androidx.core:core:1.0.0) and classes.jar (com.android.support:support-compat:28.0.0)
    Duplicate class androidx.versionedparcelable.CustomVersionedParcelable found in modules classes.jar (androidx.versionedparcelable:versionedparcelable:1.0.0) and classes.jar (com.android.support:versionedparcelable:28.0.0)
    Duplicate class androidx.versionedparcelable.NonParcelField found in modules classes.jar (androidx.versionedparcelable:versionedparcelable:1.0.0) and classes.jar (com.android.support:versionedparcelable:28.0.0)
    Duplicate class androidx.versionedparcelable.ParcelField found in modules classes.jar (androidx.versionedparcelable:versionedparcelable:1.0.0) and classes.jar (com.android.support:versionedparcelable:28.0.0)
    Duplicate class androidx.versionedparcelable.ParcelImpl found in modules classes.jar (androidx.versionedparcelable:versionedparcelable:1.0.0) and classes.jar (com.android.support:versionedparcelable:28.0.0)
    Duplicate class androidx.versionedparcelable.ParcelImpl$1 found in modules classes.jar (androidx.versionedparcelable:versionedparcelable:1.0.0) and classes.jar (com.android.support:versionedparcelable:28.0.0)
    Duplicate class androidx.versionedparcelable.ParcelUtils found in modules classes.jar (androidx.versionedparcelable:versionedparcelable:1.0.0) and classes.jar (com.android.support:versionedparcelable:28.0.0)
    Duplicate class androidx.versionedparcelable.VersionedParcel found in modules classes.jar (androidx.versionedparcelable:versionedparcelable:1.0.0) and classes.jar (com.android.support:versionedparcelable:28.0.0)
    Duplicate class androidx.versionedparcelable.VersionedParcel$1 found in modules classes.jar (androidx.versionedparcelable:versionedparcelable:1.0.0) and classes.jar (com.android.support:versionedparcelable:28.0.0)
    Duplicate class androidx.versionedparcelable.VersionedParcel$ParcelException found in modules classes.jar (androidx.versionedparcelable:versionedparcelable:1.0.0) and classes.jar (com.android.support:versionedparcelable:28.0.0)
    Duplicate class androidx.versionedparcelable.VersionedParcelParcel found in modules classes.jar (androidx.versionedparcelable:versionedparcelable:1.0.0) and classes.jar (com.android.support:versionedparcelable:28.0.0)
    Duplicate class androidx.versionedparcelable.VersionedParcelStream found in modules classes.jar (androidx.versionedparcelable:versionedparcelable:1.0.0) and classes.jar (com.android.support:versionedparcelable:28.0.0)
    Duplicate class androidx.versionedparcelable.VersionedParcelStream$FieldBuffer found in modules classes.jar (androidx.versionedparcelable:versionedparcelable:1.0.0) and classes.jar (com.android.support:versionedparcelable:28.0.0)
    Duplicate class androidx.versionedparcelable.VersionedParcelStream$InputBuffer found in modules classes.jar (androidx.versionedparcelable:versionedparcelable:1.0.0) and classes.jar (com.android.support:versionedparcelable:28.0.0)
    Duplicate class androidx.versionedparcelable.VersionedParcelable found in modules classes.jar (androidx.versionedparcelable:versionedparcelable:1.0.0) and classes.jar (com.android.support:versionedparcelable:28.0.0)
    Duplicate class androidx.versionedparcelable.VersionedParcelize found in modules classes.jar (androidx.versionedparcelable:versionedparcelable:1.0.0) and classes.jar (com.android.support:versionedparcelable:28.0.0)

Go to the documentation to learn how to Fix dependency resolution errors.
------------------依赖性------------


您的
androidx
库(可能在一个使用过的库中)与
支持
库冲突

将这些行添加到
gradle.properties
文件中:(它位于项目的根目录中)

Jetifier工具将依赖于支持库的库迁移为依赖于等效的AndroidX包。

为什么会发生这种情况? 因为升级后,
androidx.core:core
会在某个地方被访问,而您的项目仍然没有使用androidx。因此像
INotificationSideChannel
和其他许多类现在可以在两个地方找到-
androidx.core:core
com.android.support:support compat
。这就是发生此错误的原因

解决方案 您需要迁移到AndroidX,您应该已经这样做了。如果你不知道AndroidX。请阅读

如何迁移当前项目 在Android Studio 3.2(2018年9月)中,可以直接选择将现有项目迁移到
AndroidX
。这将自动折射所有包

迁移之前,强烈建议备份项目。

现有项目
  • Android Studio>重构菜单>迁移到AndroidX
  • 它将分析并打开底部的折射器窗口。接受要做的更改

新项目 将这些标志放入您的
gradle.properties

android.enableJetifier=true
android.useAndroidX=true
检查@


选中@

首先从顶部栏中选择折射器,然后从该栏中选择折射androidx,这样它将为您创建一个zip文件,作为备份

之后,它会自动恢复正常,并修复所有阻止手机应用程序运行的bug和错误


就这样!!你做到了

我们可以在你的
build.gradle
文件中看到你的
依赖项吗。您可能同时拥有
androidx
库和
com.android.support
库,它们之间存在冲突Sure@user3170251,我在这里更新依赖项,现在您可以看到我的项目依赖项这并没有解决我的问题。还有其他选择吗?你找到解决方案了吗?我也有这个问题。我刚刚将gradle版本从2.3升级到3.4.1。我的应用程序中没有使用或集成androidx。有其他解决方案吗?@civanimahida你确定,您没有使用任何第三方库,如firebase,它正在使用androidx?谢谢,我使用了firebase,当我删除它时,我没有再收到重复错误。谢谢,我认为这是唯一的解决方案,尽管我试图避免它,因为我对androidx没有任何想法。
android.useAndroidX=true
android.enableJetifier=true
android.enableJetifier=true
android.useAndroidX=true