Android 开发问题:Duplicate class android.support.v4.app.INotificationSideChannel...

groovy 复制代码
implementation 'com.github.bmelnychuk:atv:1.2.9'
  • 在 Android 开发中,引入上述依赖后,构建项目时,出现如下错误信息

    Duplicate class android.support.v4.app.INotificationSideChannel found in modules core-1.8.0-runtime (androidx.core:core:1.8.0) and support-v4-21.0.3-runtime (com.android.support:support-v4:21.0.3)
    Duplicate class android.support.v4.app.INotificationSideChannelStub found in modules core-1.8.0-runtime (androidx.core:core:1.8.0) and support-v4-21.0.3-runtime (com.android.support:support-v4:21.0.3) Duplicate class android.support.v4.app.INotificationSideChannelStub$Proxy found in modules core-1.8.0-runtime (androidx.core:core:1.8.0) and support-v4-21.0.3-runtime (com.android.support:support-v4:21.0.3)

    解读

    在模块 core-1.8.0-runtime(androidx.core:core:1.8.0)
    和 support-v4-21.0.3-runtime(com.android.support:support-v4:21.0.3)
    中发现重复的类 android.support.v4.app.INotificationSideChannel

    ...

问题原因
  • 项目同时引入了两个包含相同类文件的库,导致了重复类错误,冲突双方如下
  1. AndroidX 库(新版本支持库):androidx.core:core:1.8.0

  2. 旧版本支持库:com.android.support:support-v4:21.0.3

处理策略
  • gradle.properties 文件中添加如下内容
properties 复制代码
android.useAndroidX=true
android.enableJetifier=true
  1. android.useAndroidX=true:表示项目使用 AndroidX 库

  2. android.enableJetifier=true:表示允许 Gradle 自动重写旧的第三方库的二进制文件,将其中的旧支持库引用转换为 AndroidX 引用

相关推荐
姜太公钓鲸2337 分钟前
ROM就是程序存储器,实际的存储介质是Flash闪存。上述描述中的程序存储器是什么意思?
开发语言·javascript·ecmascript
Java后端的Ai之路11 分钟前
【JDK】-JDK 21 新特性内容
java·开发语言·后端·jdk·jdk21
wjs202431 分钟前
JavaScript 作用域
开发语言
m0_531237171 小时前
C语言-指针终阶
c语言·开发语言
冬奇Lab1 小时前
应用异常退出实战分析:一次"幽灵杀手"引发的车载系统故障排查
android·性能优化·debug
散峰而望1 小时前
C++ 启程:从历史到实战,揭开命名空间的神秘面纱
c语言·开发语言·数据结构·c++·算法·github·visual studio
易辰君2 小时前
【Python爬虫实战】正则:中文匹配与贪婪非贪婪模式详解
开发语言·爬虫·python
普通网友2 小时前
PHP语言的正则表达式
开发语言·后端·golang
黎雁·泠崖2 小时前
Java常用类核心详解(七):正则表达式 Regex 从入门到实战
java·开发语言·正则表达式
PingdiGuo_guo2 小时前
C++数据类型、变量常量
开发语言·c++