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

相关推荐
Sarvartha5 小时前
final 关键字
java·开发语言
2601_952047795 小时前
单一策略深度教程:用轻易云把集成任务的报错实时推送到钉钉机器人
java·机器人·钉钉
程序员Sunday6 小时前
JavaScript 事件循环面试题,宏任务与微任务怎么执行|Sunday面试指南
开发语言·javascript·面试·校招·事件循环·程序员sunday
墨天梦6 小时前
B17_LifecycleLiveData与Flow
android·kotlin
数据狐(Datafox)6 小时前
淘宝图片搜索 API 落地实战:基于以图搜货搭建跨境电商选品系统
java·大数据·微服务
zhangzeyuaaa7 小时前
Ruby 多线程、GVL(GIL)与 Mutex 完全指南
开发语言·前端·ruby
_祝你今天愉快7 小时前
UI核心 - 绘制流程(测量、布局、绘制)
android
谢亮_vipxieliang8 小时前
用 PHP 构建轻量级 REST API:从路由到鉴权的完整实践
开发语言·后端·php