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 引用

相关推荐
字节探索1 小时前
Spring Boot 接口幂等性设计:从唯一索引到 Redis+Lua 的工程实践
java·spring boot
用户3721574261351 小时前
Java 实现 Excel 与 Markdown 相互转换:表格导出、格式设置与多表提取
java
迪菲赫尔曼1 小时前
【基础篇 11】把官方源码放到服务器:版本、解压层级和安装位置,一次弄清楚
运维·服务器·开发语言·人工智能·python·yolo·目标检测
SL_staff1 小时前
制造业订单交付总踩坑?用结构化节点协同模型重构计划系统
java·开源·全栈
chari克里2 小时前
QT5.15.2 + msvc2022部署全流程说明(windows可联网环境)
开发语言·c++·qt
永遠_2 小时前
YAML格式化工具
java
Hello.Reader2 小时前
tsrs 技术解析用 Rust 移植 TypeScript 7,类型检查还能怎样提速?
开发语言·rust·typescript
方白羽2 小时前
Android 双开环境底层剖析与风控检测落地
android·安全·app
透明的玻璃杯2 小时前
VS2015+QT 多线程
开发语言·qt
曼岛_3 小时前
[图解密码学]第4章 古典密码
java·数据库·密码学