zoukankan      html  css  js  c++  java
  • android:Program type already present: android.support.v4.app.INotificationSideChannel

    背景

    这个错误的原因是: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。

  • 相关阅读:
    light oj 1007
    51nod 1298 圆与三角形
    codeforces 899C Dividing the numbers
    zznu 1996 : 正三角形和圆的爱情
    zznu 2081 : 舰队管理
    zzun 2076 : 三花聚顶神功
    zznu 2054 : 油田
    机械设备--第九届省赛--深搜
    设计模式-单例模式、工厂模式
    Spring Boot 遇到空指针
  • 原文地址:https://www.cnblogs.com/aoximin/p/12068011.html
Copyright © 2011-2022 走看看