Anshul Khare
Anshul Khare

Reputation: 239

How to compile Google Vision API library?

I am trying to implement Google Vision API, but after adding libraries I am getting the following error:

Error:Execution failed for task ':app:transformClassesWithMultidexlistForDebug'.

java.io.IOException: Can't write [/Users/anshul/AndroidStudioProjects/CisiveDemo/app/build/intermediates/multi-dex/debug/componentClasses.jar] (Can't read [/Users/anshul/.gradle/caches/modules-2/files-2.1/com.google.guava/guava-jdk5/17.0/463f8378feba44df7ba7cd9272d01837dad62b36/guava-jdk5-17.0.jar(;;;;;;**.class)] (Duplicate zip entry [guava-jdk5-17.0.jar:com/google/common/annotations/Beta.class]))

apply plugin: 'com.android.application'

android {
    compileSdkVersion 27
    defaultConfig {
        applicationId "com.demo.cisive"
        minSdkVersion 15
        targetSdkVersion 27
        versionCode 1
        versionName "1.0"
        multiDexEnabled true
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    configurations.all {
        resolutionStrategy.force 'com.google.code.findbugs:jsr305:1.3.9'
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:27.1.0'
    implementation 'com.android.support.constraint:constraint-layout:1.0.2'
    testImplementation 'junit:junit:4.12'
    implementation 'com.android.support:design:27.1.0'
    implementation 'com.github.delight-im:Android-AdvancedWebView:v3.0.0'
    implementation 'com.basgeekball:awesome-validation:1.3'
    implementation 'com.google.android.gms:play-services-auth:11.8.0'
    implementation 'com.google.android.gms:play-services-base:11.8.0'
    androidTestImplementation 'com.android.support.test:runner:1.0.1'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'


    implementation 'com.google.api-client:google-api-client-android:1.23.0'
    implementation 'com.google.http-client:google-http-client-gson:1.23.0'
    implementation 'com.google.apis:google-api-services-vision:v1-rev369-1.23.0'
}

Dependencies

+--- com.android.support:appcompat-v7:27.1.0
|    +--- com.android.support:support-annotations:27.1.0
|    +--- com.android.support:support-core-utils:27.1.0
|    |    +--- com.android.support:support-annotations:27.1.0
|    |    \--- com.android.support:support-compat:27.1.0
|    |         +--- com.android.support:support-annotations:27.1.0
|    |         \--- android.arch.lifecycle:runtime:1.1.0
|    |              +--- android.arch.lifecycle:common:1.1.0
|    |              \--- android.arch.core:common:1.1.0
|    +--- com.android.support:support-fragment:27.1.0
|    |    +--- com.android.support:support-compat:27.1.0 (*)
|    |    +--- com.android.support:support-core-ui:27.1.0
|    |    |    +--- com.android.support:support-annotations:27.1.0
|    |    |    +--- com.android.support:support-compat:27.1.0 (*)
|    |    |    \--- com.android.support:support-core-utils:27.1.0 (*)
|    |    +--- com.android.support:support-core-utils:27.1.0 (*)
|    |    +--- com.android.support:support-annotations:27.1.0
|    |    +--- android.arch.lifecycle:livedata-core:1.1.0
|    |    |    +--- android.arch.lifecycle:common:1.1.0
|    |    |    +--- android.arch.core:common:1.1.0
|    |    |    \--- android.arch.core:runtime:1.1.0
|    |    |         \--- android.arch.core:common:1.1.0
|    |    \--- android.arch.lifecycle:viewmodel:1.1.0
|    +--- com.android.support:support-vector-drawable:27.1.0
|    |    +--- com.android.support:support-annotations:27.1.0
|    |    \--- com.android.support:support-compat:27.1.0 (*)
|    \--- com.android.support:animated-vector-drawable:27.1.0
|         +--- com.android.support:support-vector-drawable:27.1.0 (*)
|         \--- com.android.support:support-core-ui:27.1.0 (*)
+--- com.android.support.constraint:constraint-layout:1.0.2
|    \--- com.android.support.constraint:constraint-layout-solver:1.0.2
+--- com.android.support:design:27.1.0
|    +--- com.android.support:support-v4:27.1.0
|    |    +--- com.android.support:support-compat:27.1.0 (*)
|    |    +--- com.android.support:support-media-compat:27.1.0
|    |    |    +--- com.android.support:support-annotations:27.1.0
|    |    |    \--- com.android.support:support-compat:27.1.0 (*)
|    |    +--- com.android.support:support-core-utils:27.1.0 (*)
|    |    +--- com.android.support:support-core-ui:27.1.0 (*)
|    |    \--- com.android.support:support-fragment:27.1.0 (*)
|    +--- com.android.support:appcompat-v7:27.1.0 (*)
|    +--- com.android.support:recyclerview-v7:27.1.0
|    |    +--- com.android.support:support-annotations:27.1.0
|    |    +--- com.android.support:support-compat:27.1.0 (*)
|    |    \--- com.android.support:support-core-ui:27.1.0 (*)
|    \--- com.android.support:transition:27.1.0
|         +--- com.android.support:support-annotations:27.1.0
|         \--- com.android.support:support-compat:27.1.0 (*)
+--- com.github.delight-im:Android-AdvancedWebView:v3.0.0
+--- com.basgeekball:awesome-validation:1.3
|    \--- com.google.guava:guava:19.0
+--- com.google.android.gms:play-services-auth:11.8.0
|    +--- com.google.android.gms:play-services-auth-api-phone:11.8.0
|    |    +--- com.google.android.gms:play-services-base:11.8.0
|    |    |    +--- com.google.android.gms:play-services-basement:11.8.0
|    |    |    |    +--- com.android.support:support-v4:25.2.0 -> 27.1.0 (*)
|    |    |    |    \--- com.google.android.gms:play-services-basement-license:11.8.0
|    |    |    +--- com.google.android.gms:play-services-tasks:11.8.0
|    |    |    |    +--- com.google.android.gms:play-services-basement:11.8.0 (*)
|    |    |    |    \--- com.google.android.gms:play-services-tasks-license:11.8.0
|    |    |    \--- com.google.android.gms:play-services-base-license:11.8.0
|    |    +--- com.google.android.gms:play-services-basement:11.8.0 (*)
|    |    +--- com.google.android.gms:play-services-tasks:11.8.0 (*)
|    |    \--- com.google.android.gms:play-services-auth-api-phone-license:11.8.0
|    +--- com.google.android.gms:play-services-auth-base:11.8.0
|    |    +--- com.google.android.gms:play-services-base:11.8.0 (*)
|    |    +--- com.google.android.gms:play-services-basement:11.8.0 (*)
|    |    +--- com.google.android.gms:play-services-tasks:11.8.0 (*)
|    |    \--- com.google.android.gms:play-services-auth-base-license:11.8.0
|    +--- com.google.android.gms:play-services-base:11.8.0 (*)
|    +--- com.google.android.gms:play-services-basement:11.8.0 (*)
|    \--- com.google.android.gms:play-services-tasks:11.8.0 (*)
+--- com.google.android.gms:play-services-base:11.8.0 (*)
+--- com.google.api-client:google-api-client-android:1.23.0
|    +--- com.google.api-client:google-api-client:1.23.0
|    |    +--- com.google.oauth-client:google-oauth-client:1.23.0
|    |    |    +--- com.google.http-client:google-http-client:1.23.0
|    |    |    |    +--- com.google.code.findbugs:jsr305:1.3.9
|    |    |    |    \--- org.apache.httpcomponents:httpclient:4.0.1
|    |    |    |         +--- org.apache.httpcomponents:httpcore:4.0.1
|    |    |    |         +--- commons-logging:commons-logging:1.1.1
|    |    |    |         \--- commons-codec:commons-codec:1.3
|    |    |    \--- com.google.code.findbugs:jsr305:1.3.9
|    |    +--- com.google.http-client:google-http-client-jackson2:1.23.0
|    |    |    +--- com.google.http-client:google-http-client:1.23.0 (*)
|    |    |    \--- com.fasterxml.jackson.core:jackson-core:2.1.3
|    |    \--- com.google.guava:guava-jdk5:17.0
|    \--- com.google.http-client:google-http-client-android:1.23.0
|         \--- com.google.http-client:google-http-client:1.23.0 (*)
+--- com.google.http-client:google-http-client-gson:1.23.0
|    +--- com.google.http-client:google-http-client:1.23.0 (*)
|    \--- com.google.code.gson:gson:2.1
+--- com.google.apis:google-api-services-vision:v1-rev369-1.23.0
|    \--- com.google.api-client:google-api-client:1.23.0 (*)
\--- com.android.support:multidex:1.0.2

Upvotes: 1

Views: 446

Answers (1)

OneCricketeer
OneCricketeer

Reputation: 191710

These lines are the problem (well, just the first one, but the rest are related).

implementation 'com.google.api-client:google-api-client-android:1.23.0'
implementation 'com.google.http-client:google-http-client-gson:1.23.0'
implementation 'com.google.apis:google-api-services-vision:v1-rev369-1.23.0'

If you search in the output of the dependencies, you see the library in the error. com.google.guava:guava-jdk5:17.0... Android originally supported JDK6, so even having a JDK5 library is a sign something is wrong.

The google-api-java-client project is in maintenance mode, and is not the recommended library to use for Android development.

Use Google Play Services APIs instead. (Which you already are using for Auth). For example, there is a Vision API there.

If you need an HTTP Client with Gson support, checkout Retrofit

Upvotes: 1

Related Questions