web-dev-qa-db-fra.com

L'exécution a échoué pour la tâche ': app: transformClassesWithDexForDebug' lors de l'implémentation de la connexion Google pour Android

J'essaie d'implémenter la connexion Google pour Android et je suis les instructions via

https://developers.google.com/identity/sign-in/Android/start-integrating

Mais lors de la construction de l'application, je reçois l'erreur suivante.

Informations: tâches Gradle [: app: generateDebugSources,: app: generateDebugAndroidTestSources,: app: assembleDebug]: app: preBuild UP-TO-DATE: app: preDebugBuild UP-TO-DATE: app: checkDebugManifest: app: preReleaseBuild UP-TO- DATE: app: prepareComAndroidSupportAppcompatV72301Library UP-TO-DATE: app: prepareComAndroidSupportDesign2301Library UP-TO-DATE: app: prepareComAndroidSupportSupportV42301Library UP-TO-DATE: app: prepareComGoogleAndroidGmsPlayServicesAds810Library UP-TO-DATE: app: prepareComGoogleAndroidGmsPlayServicesAnalytics810Library UP-TO-DATE: app: prepareComGoogleAndroidGmsPlayServicesAppindexing810Library UP-TO-DATE: app: prepareComGoogleAndroidGmsPlayServicesBase810Library UP-TO-DATE: app: prepareComGoogleAndroidGmsPlayServicesBasement810Library UP-TO-DATE: app: prepareComGoogleAndroidGmsPlayServicesIdentity810Library UP-TO-DATE: app: prepareComGoogleAndroidGmsPlayServicesMeasurement810Library UP-TO-DATE: app: prepareComGoogleAndroidGmsPlayServicesPlus810Library UP-TO-DATE : application: prepareDebugD dépendances: app: compileDebugAidl UP-TO-DATE: app: compileDebugRenderscript UP-TO-DATE: app: generateDebugBuildConfig UP-TO-DATE: app: generateDebugAssets UP-TO-DATE: app: mergeDebugAssets UP-TO-DATE: app: generateDebugS À JOUR: app: processDebugGoogleServices Aucun client correspondant trouvé pour le nom de package 'com.questo.rugved.questo': app: generateDebugResources: app: mergeDebugResources UP-TO-DATE: app: processDebugManifest À JOUR: app: process: processDebugResources UP-TO-DATE: app: generateDebugSources UP-TO-DATE: app: preDebugAndroidTestBuild UP-TO-DATE: app: prepareDebugAndroidTestDependencies: app: compileDebugAndroidTestAidl UP-TO-DATE: app: processDebugAndroid À JOUR: app: generateDebugAndroidTestBuildConfig À JOUR: app: generateDebugAndroidTestAssets À JOUR: app: mergeDebugAndroidTestAssets À JOUR: app: generateDebugAndroidTestResValues ​​UP-TO-DATE : app: mergeDebugAndr oidTestResources UP-TO-DATE: app: processDebugAndroidTestResources UP-TO-DATE: app: generateDebugAndroidTestSources UP-TO-DATE: app: compileDebugJavaWithJavac UP-TO-DATE: app: compileDebugNdk UP-TO-DATE: appS compile UPD DATE: app: transformClassesAndResourcesWithExtractJarsForDebug: app: transformClassesWithDexForDebug EXCEPTION INATTENDUE DE HAUT NIVEAU: Erreur: Échec de l'exécution pour la tâche ': app: transformClassesWithDexForDebug'. com.Android.build.transform.api.TransformException: com.Android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Processus 'commande'/usr/lib/jvm/Java-7-Oracle/bin/Java '' terminé avec une valeur de sortie non nulle 2 Informations: ÉCHEC DE LA CONSTRUCTION Informations: Durée totale: 1 min 39,994 s Informations: 1 erreur Informations: 0 avertissements Informations: Voir la sortie complète dans la console

Mon diplôme de haut niveau est

 
 buildscript {
 référentiels {
 jcenter () 
} 
 dépendances {
 classpath 'com.Android .tools.build: gradle: 1.3.0 '
 classpath' com.google.gms: google-services: 1.4.0-beta3 '
 
 // REMARQUE: Ne pas placez vos dépendances d'application ici; ils appartiennent à 
 // dans les fichiers individuels build.gradle du module 
} 
} 
 
 allprojects {
 référentiels {
 jcenter () 
} 
} 
 
My app level gradle is

<pre>

    apply plugin: 'com.Android.application'
    apply plugin: 'com.google.gms.google-services'

    Android {
        compileSdkVersion 23
        buildToolsVersion '23.0.1'

        defaultConfig {
            applicationId "com.questo.rugved.questo"
            minSdkVersion 15
            targetSdkVersion 23
            versionCode 1
            versionName "1.0"
        }
        buildTypes {
            release {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
            }
        }
    }

    dependencies {
        compile fileTree(dir: 'libs', include: ['*.jar'])
        compile 'com.Android.support:appcompat-v7:23.0.1'
        compile 'com.Android.support:design:23.+'
        compile 'com.google.Android.gms:play-services-identity:8.1.0'
        compile 'com.google.Android.gms:play-services-plus:8.1.0'
    }

veuillez aider.

13
Rage

Peut-être que ce lien vous aide. lien

Cela m'a aidé:

Android {
...
defaultConfig {
    ...
    multiDexEnabled true
    }
}
20
Alberto Crespo

Ce problème se produit en raison de l'inclusion multiple de dépendances. Vous incluez une dépendance déjà spécifiée dans votre fichier build.gradle. Par exemple:

compile 'com.google.Android.gms:play-services:9.0.2'
compile 'com.google.Android.gms:play-services-identity:9.0.2'

la spécification de dépendance ci-dessus va générer ce problème, car les services de jeu incluent tout, y compris l'identité des services de jeu, et ainsi, ici, la même dépendance est incluse plusieurs fois.

L'option recommandée consiste à inclure uniquement les dépendances dont vous avez réellement besoin. Si vous avez besoin de l'emplacement et des cartes des services de jeu, n'incluez que ces dépendances comme:

compile 'com.google.Android.gms:play-services-location:9.0.2'
compile 'com.google.Android.gms:play-services-maps:9.0.2'

Sans tout inclure avec 'com.google.Android.gms: play-services: 9.0.2'.

Dans votre cas spécifique, je soupçonne que le conflit se produit entre les services google du fichier gradle de niveau supérieur et play-services-identity & play-services-plus dans le fichier gradle de niveau application. L'utilisation uniquement des services dont vous avez spécifiquement besoin pour résoudre l'inclusion multiple résoudra votre problème.

En général, vous ne devez pas utiliser "multiDexEnabled true" si vous n'avez pas de raison forte et légitime. L'utiliser sans connaître le problème réel signifie que vous contournez un problème. Vous autorisez plusieurs dépendances qui se chevauchent, ce qui donne une source potentielle de conflits d'api et une plus grande taille d'apk.

5

Ajouter

 dexOptions {
        incremental = true;
        preDexLibraries = false
        javaMaxHeapSize "4g" // 2g should be also OK
    }

avec in Android dans build.gradle fonctionne pour moi.

3
Rasmikant

Eu le même problème.
Le mien a été corrigé en définissant la variable Java_HOME sur Java 8 jdk

export Java_HOME="/usr/lib/jvm/Java-8-openjdk-AMD64/"   
1
Pani