android.support.v4.app.INotificationSideChannel$Stub$Proxy

android.support.v4.app.INotificationSideChannel$Stub$Proxy

com.hendraanggrian.appcompat:socialview:0.1 图书馆与 androidx 合作。当我将这个库添加到我的项目时,我得到了 support.v4 错误:

Program type already present: android.support.v4.app.INotificationSideChannel$Stub$Proxy

为了解决这个问题,我将下面的代码添加到 gradle.properties

android.useAndroidX = true
android.enableJetifier = false
android.enableD8 = false

但不影响。我在代码下面尝试的另一个解决方案

configurations {
        all*.exclude group: 'com.android.support', module: 'support-v4'
//        all*.exclude group: 'com.android.support', module: 'appcompat-v7'
//        all*.exclude group: 'com.android.support', module: 'design'
    }

不影响。

我还尝试使用此命令获取依赖项树以查找重复项

./gradlew dependencies -q 

但是出错了。另一件可能有帮助的事情是我在这个项目的某些情况下使用了 kotlin

问题是,当我构建项目并使用成功构建的 adb 项目进行测试时,但当我尝试在 android studio 中构建 apk 时,出现此错误

我遇到了同样的问题。 在我将 Android Gradle 插件的版本更改为 3.2.0-rc03 之后。 (你改完之后,应该把gradle版本改成4.6)

https://android-developers.googleblog.com/2018/05/hello-world-androidx.html 在这篇文章中,他们说他们重写了 JAR 和 AAR 依赖项的字节码和资源,以引用新的 androidx-package 类 和 3.2.0-alpha14 的工件。 Android Gradle 插件的先前版本可能有 android.support.v4.app.INotificationSideChannel$Stub$Proxy。 所以如果我们要使用androidx,我们应该把Android Gradle Plugin的版本改到3.2.0-alpha14.

之后

最后我将所有项目迁移到 androidx 并解决了问题。