android:Program type already present: android.support.v4.app.INotificationSideChannel
2023-09-14 08:59:25 时间
背景
这个错误的原因是:androidx和 android.support同时存在。
首先,网上有很多解答说这样处理:
在 gradle.properties 添加:
android.useAndroidX=true
android.enableJetifier=true
然后再build.gradle 中添加这个:
implementation "androidx.room:room-runtime:2.0.0-alpha1"
annotationProcessor "androidx.room:room-compiler:2.0.0-alpha1"
如果你是一个新项目,那么也许可以解决你的问题。
但如果是一个没有使用androidx的项目,而且项目比较大的情况,这会使得你更加糟糕。
因为这个配置,会使你进入androidx 开发模式下。这意味着你需要全部升级,我想这会是一个大的工程,这将会让你陷入一个泥潭中。
解决
我是在引入了一个库后,出现这个问题。这个库使用androidx,而我其他的库使用android.support,使得我的项目无法build。
比如:
implementation 'com.jakewharton:butterknife:10.2.0'
annotationProcessor 'com.jakewharton:butterknife-compiler:10.2.0'
在高版本中,butterknife将使用androix。那么使用低版本可以解决这个问题,比如8.4.0。
ps:
在以后的版本中官方已经表明只支持androidx,如果项目不是非常大,或者有充足的时间,那么可以尝试升级。
总结
让我们在合理的条件下拥抱androidx。
相关文章
- [Android]获取整体APP CPU信息
- [Android] 解析android framework下利用app_process来调用java写的命令及示例
- [Android Pro] ant 编译android工程
- 解剖android中的闹钟app 一
- android获取设备唯一标示
- Android开机动画启动流程
- Android-----获取屏幕分辨率DisplayMetrics简介 .
- Android修行手册 - TabHost回忆
- Android问题笔记 - 在构建提示“Could not resolve all files for configuration ‘:app:debugRuntimeClasspath”
- Android问题笔记 - 编译报错Task :app:compileDebugJavaWithJavac FAILED
- Android Studio 依赖错误:app@sourceSets/compileClasspath
- Android【报错】. lang。android.app ClassCastException。SharedPreferencesImpl不能被强制转换为android.content.Shared
- Android setSystemUiVisibility方法详解
- Android 11.0 系统设置 app详情页默认关闭流量数据的开关
- Android 12.0 app全屏时通过系统属性控制上滑是否显示虚拟导航栏和状态栏
- Android 10.0 Launcher3仿ios长按app图标实现抖动动画开始拖拽停止动画
- Android 10.0 Launcher3 app图标和hotseat 添加背景(焦点选中背景)
- Android 进入其他app和退出App杀死进程的方法详解
- Flutter之This app is using a deprecated version of the Android embedding.
- app自动化测试(Android)--App 控件定位
- android(安卓) 修改app应用图标
- Android外设开发实战-湿度测试仪
- Android kotlin (仿微博App分享界面)用RecyclerView(androidx+BRVAH3.0.6+AnyLayer)实现从底部弹出菜单栏对话框功能
- Android App版本更新知识总结
- android开发,Android Studio在创建安卓虚拟设备(AVD)时,报错:Unknown Error
- Android内核开发:从源码树中删除出厂的app应用