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 小时前
Android 平台智能指针使用与分析
android·c++
熬夜敲代码的小N2 小时前
Unity大场景卡顿“急救包”:从诊断到落地的全栈优化方案
java·unity·游戏引擎
坚持学习前端日记2 小时前
容器化中间件的优缺点
java·中间件
黑客老李2 小时前
一次有趣的通杀
java·数据库·mysql
小白学大数据2 小时前
Python 进阶爬虫:解析知识星球 API
开发语言·爬虫·python
季明洵2 小时前
反转字符串、反转字符串II、反转字符串中的单词
java·数据结构·算法·leetcode·字符串
赴前尘2 小时前
记一次golang进程执行卡住的问题排查
开发语言·后端·golang
whale fall2 小时前
如何在同一台电脑里安装32 位 Python 和 64 位 Python
开发语言·笔记·python·学习
有位神秘人2 小时前
Android中BottomSheetDialog的折叠、半展开、底部固定按钮等方案实现
android