zoukankan      html  css  js  c++  java
  • Android Studio 编译: Program type already present: XXX 解决方案

    3情况1:个例

    build.gradle 中

        dependencies {
            classpath 'com.android.tools.build:gradle:3.1.1'
            //
        }

    改成

        dependencies {
             //目前最新版【2018年05月15日】
             classpath 'com.android.tools.build:gradle:3.1.2'
            //
        }

    情况2:确实是依赖冲突

    Error: Program type already present: android.support.v4.app.xxx

    例子: 
    引入以下依赖报该错误

        //Paho Android Service
        implementation 'org.eclipse.paho:org.eclipse.paho.client.mqttv3:1.0.2'
        implementation 'org.eclipse.paho:org.eclipse.paho.android.service:1.0.2'

    执行命令:

    gradlew -q app:dependencies

    排查 support-v4 出现的依赖关系中 发现 org.eclipse.paho:org.eclipse.paho.android.service:1.0.2
    依赖了 com.google.android:support-v4 注意不是 com.android.support:support-v4 !!!
    坑:

    //刚开始下意识去写了个排除,发现没有用。。。,原因就是它用 com.google.android:support-v4 不是 com.android.support
        implementation('org.eclipse.paho:org.eclipse.paho.android.service:1.0.2'){
              exclude group: 'com.android.support', module: 'support-v4'
          }

    总结: 
    找到依赖的问题根源后进行排除,按提示报错的来灵活处理冲突问题!

    排除方式1:

    configurations {
       all*.exclude group: 'com.google.android', module: 'support-v4'
       //或者粗暴点,就没有上面的坑了  all*.exclude module: 'support-v4'
    }
    dependencies {
    ...
        implementation 'org.eclipse.paho:org.eclipse.paho.client.mqttv3:1.0.2'
        implementation 'org.eclipse.paho:org.eclipse.paho.android.service:1.0.2'
    ...
    }

    排除方式2:

    implementation 'org.eclipse.paho:org.eclipse.paho.client.mqttv3:1.0.2'
     implementation('org.eclipse.paho:org.eclipse.paho.android.service:1.0.2') {
             exclude(group: 'com.google.android', module: 'support-v4')
        }
    
    /* 或者粗暴点,就没有上面的坑了
    implementation('org.eclipse.paho:org.eclipse.paho.android.service:1.0.2') {
            exclude module: 'support-v4'
        }
        */

    情况3:

     com.android.support:xxx 等官方依赖包 v4 v7 v13 等版本号保持一致 比如 27.1.1

  • 相关阅读:
    多线程循环打印ABC
    程序员如何提高影响力
    一文详解bundle adjustment
    粒子滤波到底是怎么得到的?
    多视图立体匹配论文分享CasMVSNet
    入坑slam,一位博士小姐姐的科研和成长分享(考研+读研+读博)
    【车道线检测】一种基于神经网络+结构约束的车道线检测方法
    FCGF-基于稀疏全卷积网络的点云特征描述子提取(ICCV2019)
    多视图立体匹配论文分享PVA-MVSNet
    姿态估计算法汇总|基于RGB、RGB-D以及点云数据
  • 原文地址:https://www.cnblogs.com/zhujiabin/p/10559122.html
Copyright © 2011-2022 走看看