2

I've had a RecyclerView in my project, and I can't build it.

There is my build.gradle file :

apply plugin: 'com.android.application'

android {
    compileSdkVersion 27
    defaultConfig {
        applicationId "app_name"
        minSdkVersion 27
        targetSdkVersion 27
        versionCode 5
        versionName "1.0.4"
    }
    buildTypes {
        release {
            initWith(buildTypes.debug)
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    packagingOptions {
        exclude 'META-INF/LICENSE'
    }
    compileOptions {
        targetCompatibility 1.8
        sourceCompatibility 1.8
    }
}

dependencies {
    implementation 'com.android.support.constraint:constraint-layout:1.1.2'
    implementation 'com.android.support:recyclerview-v7:27.1.1'
//    implementation 'com.android.support:support-v4:27.1.1'
    testImplementation 'junit:junit:4.12'
    compileOnly 'com.google.android.things:androidthings:1.0'
    implementation 'com.google.android.things.contrib:driver-bmx280:1.0'
    implementation 'com.google.android.things.contrib:driver-button:1.0'
    implementation 'com.google.android.things:cloud-iot-core:1.0.0'
    implementation 'com.eclipsesource.minimal-json:minimal-json:0.9.5'
}

When I build, I add one off this three messages :

Program type already present: android.support.v4.content.Loader Message{kind=ERROR, text=Program type already present: android.support.v4.content.Loader, sources=[Unknown source file], tool name=Optional.of(D8)}

Program type already present: android.support.v4.app.TaskStackBuilder Message{kind=ERROR, text=Program type already present: android.support.v4.app.TaskStackBuilder, sources=[Unknown source file], tool name=Optional.of(D8)}

Program type already present: android.support.v4.content.LocalBroadcastManager$ReceiverRecord Message{kind=ERROR, text=Program type already present: android.support.v4.content.LocalBroadcastManager$ReceiverRecord, sources=[Unknown source file], tool name=Optional.of(D8)}

I tried to exclude this dependencies with :

implementation ('com.android.support:recyclerview-v7:27.1.1') {
    exclude group: 'com.android.support', module: 'support-v4'
    exclude module: 'android.support.v4.content.Loader'
    exclude module: 'android.support.v4.content.LocalBroadcastManager$ReceiverRecord'
    exclude module: 'android.support.v4.app.TaskStackBuilder'
}

But I still have the same error. How can I do to fix this ?

Edit : I did an androidDependencies in Android Studio and obtained this :

Executing tasks: [androidDependencies]

Configuration on demand is an incubating feature.
:app:androidDependencies
debug
debugCompileClasspath - Dependencies for compilation
+--- com.google.android.things:androidthings:1.0@jar
+--- com.android.support.constraint:constraint-layout:1.1.2@aar
+--- com.android.support:recyclerview-v7:27.1.1@aar
+--- com.android.support:support-v4:27.1.1@aar
+--- com.google.android.things.contrib:driver-bmx280:1.0@aar
+--- com.google.android.things.contrib:driver-button:1.0@aar
+--- com.google.android.things:cloud-iot-core:1.0.0@aar
+--- com.eclipsesource.minimal-json:minimal-json:0.9.5@jar
+--- com.android.support:multidex:1.0.3@aar
+--- com.android.support.constraint:constraint-layout-solver:1.1.2@jar
+--- com.android.support:support-fragment:27.1.1@aar
+--- com.android.support:support-core-ui:27.1.1@aar
+--- com.android.support:support-media-compat:27.1.1@aar
+--- com.android.support:support-core-utils:27.1.1@aar
+--- com.android.support:support-compat:27.1.1@aar
+--- com.android.support:support-annotations:27.1.1@jar
+--- org.eclipse.paho:org.eclipse.paho.android.service:1.0.2@jar
+--- org.eclipse.paho:org.eclipse.paho.client.mqttv3:1.2.0@jar
+--- org.bitbucket.b_c:jose4j:0.6.3@jar
+--- android.arch.lifecycle:runtime:1.1.0@aar
+--- android.arch.lifecycle:livedata-core:1.1.0@aar
+--- android.arch.lifecycle:viewmodel:1.1.0@aar
+--- com.google.android:support-v4:r7@jar
+--- org.slf4j:slf4j-api:1.7.21@jar
+--- android.arch.lifecycle:common:1.1.0@jar
+--- android.arch.core:runtime:1.1.0@aar
\--- android.arch.core:common:1.1.0@jar

debugRuntimeClasspath - Dependencies for runtime/packaging
+--- com.android.support.constraint:constraint-layout:1.1.2@aar
+--- com.android.support:recyclerview-v7:27.1.1@aar
+--- com.android.support:support-v4:27.1.1@aar
+--- com.google.android.things.contrib:driver-bmx280:1.0@aar
+--- com.google.android.things.contrib:driver-button:1.0@aar
+--- com.google.android.things:cloud-iot-core:1.0.0@aar
+--- com.eclipsesource.minimal-json:minimal-json:0.9.5@jar
+--- com.android.support:multidex:1.0.3@aar
+--- com.android.support.constraint:constraint-layout-solver:1.1.2@jar
+--- com.android.support:support-fragment:27.1.1@aar
+--- com.android.support:support-core-ui:27.1.1@aar
+--- com.android.support:support-media-compat:27.1.1@aar
+--- com.android.support:support-core-utils:27.1.1@aar
+--- com.android.support:support-compat:27.1.1@aar
+--- com.android.support:support-annotations:27.1.1@jar
+--- org.eclipse.paho:org.eclipse.paho.android.service:1.0.2@jar
+--- org.eclipse.paho:org.eclipse.paho.client.mqttv3:1.2.0@jar
+--- org.bitbucket.b_c:jose4j:0.6.3@jar
+--- android.arch.lifecycle:runtime:1.1.0@aar
+--- android.arch.lifecycle:livedata-core:1.1.0@aar
+--- android.arch.lifecycle:viewmodel:1.1.0@aar
+--- com.google.android:support-v4:r7@jar
+--- org.slf4j:slf4j-api:1.7.21@jar
+--- android.arch.lifecycle:common:1.1.0@jar
+--- android.arch.core:runtime:1.1.0@aar
\--- android.arch.core:common:1.1.0@jar

debugAndroidTest
debugAndroidTestCompileClasspath - Dependencies for compilation
+--- com.android.support.constraint:constraint-layout:1.1.2@aar
+--- com.android.support:recyclerview-v7:27.1.1@aar
+--- com.android.support:support-v4:27.1.1@aar
+--- com.google.android.things.contrib:driver-bmx280:1.0@aar
+--- com.google.android.things.contrib:driver-button:1.0@aar
+--- com.google.android.things:cloud-iot-core:1.0.0@aar
+--- com.eclipsesource.minimal-json:minimal-json:0.9.5@jar
+--- com.android.support:multidex:1.0.3@aar
+--- com.android.support.constraint:constraint-layout-solver:1.1.2@jar
+--- com.android.support:support-fragment:27.1.1@aar
+--- com.android.support:support-core-ui:27.1.1@aar
+--- com.android.support:support-media-compat:27.1.1@aar
+--- com.android.support:support-core-utils:27.1.1@aar
+--- com.android.support:support-compat:27.1.1@aar
+--- com.android.support:support-annotations:27.1.1@jar
+--- org.eclipse.paho:org.eclipse.paho.android.service:1.0.2@jar
+--- org.eclipse.paho:org.eclipse.paho.client.mqttv3:1.2.0@jar
+--- org.bitbucket.b_c:jose4j:0.6.3@jar
+--- android.arch.lifecycle:runtime:1.1.0@aar
+--- android.arch.lifecycle:livedata-core:1.1.0@aar
+--- android.arch.lifecycle:viewmodel:1.1.0@aar
+--- com.google.android:support-v4:r7@jar
+--- org.slf4j:slf4j-api:1.7.21@jar
+--- android.arch.lifecycle:common:1.1.0@jar
+--- android.arch.core:runtime:1.1.0@aar
\--- android.arch.core:common:1.1.0@jar

debugAndroidTestRuntimeClasspath - Dependencies for runtime/packaging

debugUnitTest
debugUnitTestCompileClasspath - Dependencies for compilation
+--- com.android.support.constraint:constraint-layout:1.1.2@aar
+--- com.android.support:recyclerview-v7:27.1.1@aar
+--- com.android.support:support-v4:27.1.1@aar
+--- com.google.android.things.contrib:driver-bmx280:1.0@aar
+--- com.google.android.things.contrib:driver-button:1.0@aar
+--- com.google.android.things:cloud-iot-core:1.0.0@aar
+--- com.eclipsesource.minimal-json:minimal-json:0.9.5@jar
+--- com.android.support:multidex:1.0.3@aar
+--- junit:junit:4.12@jar
+--- com.android.support.constraint:constraint-layout-solver:1.1.2@jar
+--- com.android.support:support-fragment:27.1.1@aar
+--- com.android.support:support-core-ui:27.1.1@aar
+--- com.android.support:support-media-compat:27.1.1@aar
+--- com.android.support:support-core-utils:27.1.1@aar
+--- com.android.support:support-compat:27.1.1@aar
+--- com.android.support:support-annotations:27.1.1@jar
+--- org.eclipse.paho:org.eclipse.paho.android.service:1.0.2@jar
+--- org.eclipse.paho:org.eclipse.paho.client.mqttv3:1.2.0@jar
+--- org.bitbucket.b_c:jose4j:0.6.3@jar
+--- org.hamcrest:hamcrest-core:1.3@jar
+--- android.arch.lifecycle:runtime:1.1.0@aar
+--- android.arch.lifecycle:livedata-core:1.1.0@aar
+--- android.arch.lifecycle:viewmodel:1.1.0@aar
+--- com.google.android:support-v4:r7@jar
+--- org.slf4j:slf4j-api:1.7.21@jar
+--- android.arch.lifecycle:common:1.1.0@jar
+--- android.arch.core:runtime:1.1.0@aar
\--- android.arch.core:common:1.1.0@jar

debugUnitTestRuntimeClasspath - Dependencies for runtime/packaging
+--- com.android.support.constraint:constraint-layout:1.1.2@aar
+--- com.android.support:recyclerview-v7:27.1.1@aar
+--- com.android.support:support-v4:27.1.1@aar
+--- com.google.android.things.contrib:driver-bmx280:1.0@aar
+--- com.google.android.things.contrib:driver-button:1.0@aar
+--- com.google.android.things:cloud-iot-core:1.0.0@aar
+--- com.eclipsesource.minimal-json:minimal-json:0.9.5@jar
+--- com.android.support:multidex:1.0.3@aar
+--- junit:junit:4.12@jar
+--- com.android.support.constraint:constraint-layout-solver:1.1.2@jar
+--- com.android.support:support-fragment:27.1.1@aar
+--- com.android.support:support-core-ui:27.1.1@aar
+--- com.android.support:support-media-compat:27.1.1@aar
+--- com.android.support:support-core-utils:27.1.1@aar
+--- com.android.support:support-compat:27.1.1@aar
+--- com.android.support:support-annotations:27.1.1@jar
+--- org.eclipse.paho:org.eclipse.paho.android.service:1.0.2@jar
+--- org.eclipse.paho:org.eclipse.paho.client.mqttv3:1.2.0@jar
+--- org.bitbucket.b_c:jose4j:0.6.3@jar
+--- org.hamcrest:hamcrest-core:1.3@jar
+--- android.arch.lifecycle:runtime:1.1.0@aar
+--- android.arch.lifecycle:livedata-core:1.1.0@aar
+--- android.arch.lifecycle:viewmodel:1.1.0@aar
+--- com.google.android:support-v4:r7@jar
+--- org.slf4j:slf4j-api:1.7.21@jar
+--- android.arch.lifecycle:common:1.1.0@jar
+--- android.arch.core:runtime:1.1.0@aar
\--- android.arch.core:common:1.1.0@jar

release
releaseCompileClasspath - Dependencies for compilation
+--- com.google.android.things:androidthings:1.0@jar
+--- com.android.support.constraint:constraint-layout:1.1.2@aar
+--- com.android.support:recyclerview-v7:27.1.1@aar
+--- com.android.support:support-v4:27.1.1@aar
+--- com.google.android.things.contrib:driver-bmx280:1.0@aar
+--- com.google.android.things.contrib:driver-button:1.0@aar
+--- com.google.android.things:cloud-iot-core:1.0.0@aar
+--- com.eclipsesource.minimal-json:minimal-json:0.9.5@jar
+--- com.android.support:multidex:1.0.3@aar
+--- com.android.support.constraint:constraint-layout-solver:1.1.2@jar
+--- com.android.support:support-fragment:27.1.1@aar
+--- com.android.support:support-core-ui:27.1.1@aar
+--- com.android.support:support-media-compat:27.1.1@aar
+--- com.android.support:support-core-utils:27.1.1@aar
+--- com.android.support:support-compat:27.1.1@aar
+--- com.android.support:support-annotations:27.1.1@jar
+--- org.eclipse.paho:org.eclipse.paho.android.service:1.0.2@jar
+--- org.eclipse.paho:org.eclipse.paho.client.mqttv3:1.2.0@jar
+--- org.bitbucket.b_c:jose4j:0.6.3@jar
+--- android.arch.lifecycle:runtime:1.1.0@aar
+--- android.arch.lifecycle:livedata-core:1.1.0@aar
+--- android.arch.lifecycle:viewmodel:1.1.0@aar
+--- com.google.android:support-v4:r7@jar
+--- org.slf4j:slf4j-api:1.7.21@jar
+--- android.arch.lifecycle:common:1.1.0@jar
+--- android.arch.core:runtime:1.1.0@aar
\--- android.arch.core:common:1.1.0@jar

releaseRuntimeClasspath - Dependencies for runtime/packaging
+--- com.android.support.constraint:constraint-layout:1.1.2@aar
+--- com.android.support:recyclerview-v7:27.1.1@aar
+--- com.android.support:support-v4:27.1.1@aar
+--- com.google.android.things.contrib:driver-bmx280:1.0@aar
+--- com.google.android.things.contrib:driver-button:1.0@aar
+--- com.google.android.things:cloud-iot-core:1.0.0@aar
+--- com.eclipsesource.minimal-json:minimal-json:0.9.5@jar
+--- com.android.support:multidex:1.0.3@aar
+--- com.android.support.constraint:constraint-layout-solver:1.1.2@jar
+--- com.android.support:support-fragment:27.1.1@aar
+--- com.android.support:support-core-ui:27.1.1@aar
+--- com.android.support:support-media-compat:27.1.1@aar
+--- com.android.support:support-core-utils:27.1.1@aar
+--- com.android.support:support-compat:27.1.1@aar
+--- com.android.support:support-annotations:27.1.1@jar
+--- org.eclipse.paho:org.eclipse.paho.android.service:1.0.2@jar
+--- org.eclipse.paho:org.eclipse.paho.client.mqttv3:1.2.0@jar
+--- org.bitbucket.b_c:jose4j:0.6.3@jar
+--- android.arch.lifecycle:runtime:1.1.0@aar
+--- android.arch.lifecycle:livedata-core:1.1.0@aar
+--- android.arch.lifecycle:viewmodel:1.1.0@aar
+--- com.google.android:support-v4:r7@jar
+--- org.slf4j:slf4j-api:1.7.21@jar
+--- android.arch.lifecycle:common:1.1.0@jar
+--- android.arch.core:runtime:1.1.0@aar
\--- android.arch.core:common:1.1.0@jar

releaseUnitTest
releaseUnitTestCompileClasspath - Dependencies for compilation
+--- com.android.support.constraint:constraint-layout:1.1.2@aar
+--- com.android.support:recyclerview-v7:27.1.1@aar
+--- com.android.support:support-v4:27.1.1@aar
+--- com.google.android.things.contrib:driver-bmx280:1.0@aar
+--- com.google.android.things.contrib:driver-button:1.0@aar
+--- com.google.android.things:cloud-iot-core:1.0.0@aar
+--- com.eclipsesource.minimal-json:minimal-json:0.9.5@jar
+--- com.android.support:multidex:1.0.3@aar
+--- junit:junit:4.12@jar
+--- com.android.support.constraint:constraint-layout-solver:1.1.2@jar
+--- com.android.support:support-fragment:27.1.1@aar
+--- com.android.support:support-core-ui:27.1.1@aar
+--- com.android.support:support-media-compat:27.1.1@aar
+--- com.android.support:support-core-utils:27.1.1@aar
+--- com.android.support:support-compat:27.1.1@aar
+--- com.android.support:support-annotations:27.1.1@jar
+--- org.eclipse.paho:org.eclipse.paho.android.service:1.0.2@jar
+--- org.eclipse.paho:org.eclipse.paho.client.mqttv3:1.2.0@jar
+--- org.bitbucket.b_c:jose4j:0.6.3@jar
+--- org.hamcrest:hamcrest-core:1.3@jar
+--- android.arch.lifecycle:runtime:1.1.0@aar
+--- android.arch.lifecycle:livedata-core:1.1.0@aar
+--- android.arch.lifecycle:viewmodel:1.1.0@aar
+--- com.google.android:support-v4:r7@jar
+--- org.slf4j:slf4j-api:1.7.21@jar
+--- android.arch.lifecycle:common:1.1.0@jar
+--- android.arch.core:runtime:1.1.0@aar
\--- android.arch.core:common:1.1.0@jar

releaseUnitTestRuntimeClasspath - Dependencies for runtime/packaging
+--- com.android.support.constraint:constraint-layout:1.1.2@aar
+--- com.android.support:recyclerview-v7:27.1.1@aar
+--- com.android.support:support-v4:27.1.1@aar
+--- com.google.android.things.contrib:driver-bmx280:1.0@aar
+--- com.google.android.things.contrib:driver-button:1.0@aar
+--- com.google.android.things:cloud-iot-core:1.0.0@aar
+--- com.eclipsesource.minimal-json:minimal-json:0.9.5@jar
+--- com.android.support:multidex:1.0.3@aar
+--- junit:junit:4.12@jar
+--- com.android.support.constraint:constraint-layout-solver:1.1.2@jar
+--- com.android.support:support-fragment:27.1.1@aar
+--- com.android.support:support-core-ui:27.1.1@aar
+--- com.android.support:support-media-compat:27.1.1@aar
+--- com.android.support:support-core-utils:27.1.1@aar
+--- com.android.support:support-compat:27.1.1@aar
+--- com.android.support:support-annotations:27.1.1@jar
+--- org.eclipse.paho:org.eclipse.paho.android.service:1.0.2@jar
+--- org.eclipse.paho:org.eclipse.paho.client.mqttv3:1.2.0@jar
+--- org.bitbucket.b_c:jose4j:0.6.3@jar
+--- org.hamcrest:hamcrest-core:1.3@jar
+--- android.arch.lifecycle:runtime:1.1.0@aar
+--- android.arch.lifecycle:livedata-core:1.1.0@aar
+--- android.arch.lifecycle:viewmodel:1.1.0@aar
+--- com.google.android:support-v4:r7@jar
+--- org.slf4j:slf4j-api:1.7.21@jar
+--- android.arch.lifecycle:common:1.1.0@jar
+--- android.arch.core:runtime:1.1.0@aar
\--- android.arch.core:common:1.1.0@jar

BUILD SUCCESSFUL in 0s
1 actionable task: 1 executed
15:29:36: Task execution finished 'androidDependencies'.
MMartinenq
  • 43
  • 5

2 Answers2

1

The answers was to write :

implementation ('com.google.android.things:cloud-iot-core:1.0.0') {
    exclude module: 'support-v4'
}

'support-v4' is an intern dependencie of cloud-iot-core.

MMartinenq
  • 43
  • 5
0

Do you have checked your dependencies graph to point duplications ?

Bruno
  • 3,204
  • 4
  • 14
  • 30