0

Lorsque j'essaie d'intégrer la fonctionnalité Youtube DATA Api dans mon application, j'ai finalement réussi à résoudre toutes les erreurs. Mais quand je lance le projet, il me donne l'erreur suivante:com.android.dex.DexException donnée lors de la tentative d'intégration de l'API Youtube Data dans l'application android

UNEXPECTED TOP-LEVEL EXCEPTION: 
com.android.dex.DexException: Multiple dex files define Lcom/google/api/client/auth/oauth/AbstractOAuthGetToken; 
    at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java:596) 
    at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java:554) 
    at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java:535) 
    at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java:171) 
    at com.android.dx.merge.DexMerger.merge(DexMerger.java:189) 
    at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java:454) 
    at com.android.dx.command.dexer.Main.runMonoDex(Main.java:303) 
    at com.android.dx.command.dexer.Main.run(Main.java:246) 
    at com.android.dx.command.dexer.Main.main(Main.java:215) 
    at com.android.dx.command.Main.main(Main.java:106) 

Mon fichier build.gradle est la suivante:

apply plugin: 'com.android.application' 

android { 
compileSdkVersion 23 
buildToolsVersion "21.1.2" 

defaultConfig { 
    applicationId "wheresapp.iiitb.com.wheresapp" 
    minSdkVersion 15 
    targetSdkVersion 21 
    versionCode 1 
    versionName "1.0" 
} 


buildTypes { 
    release { 
     minifyEnabled false 
     proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
    } 
} 
} 

dependencies { 
compile 'com.android.support:appcompat-v7:23.1.0' 
compile 'com.android.support:support-v4:21.0.0' 
compile 'com.google.android.gms:play-services:+' 
compile 'com.google.apis:google-api-services-youtube:v3-rev152-1.21.0' 
compile files('libs/twitter4j-core-4.0.1.jar') 
compile files('libs/api-1.3.jar') 
compile files('libs/json-simple.jar') 
compile files('libs/google-oauth-client-1.16.0-rc.jar') 
compile files('libs/google-oauth-client-jetty-1.11.0-beta.jar') 
compile files('libs/google-oauth-client-java6-1.11.0-beta.jar') 
} 

Je l'ai regardé tant d'exemples ici, mais je suis incapable de résoudre cette erreur. Si je mets

multidexenabled true 

dans le fichier gradle cette erreur disparaît, mais je reçois une autre erreur

java.util.zip.ZipException: duplicate entry: com/google/api/client/auth/oauth/package-info.class 

Je suis à la fin de mon esprit avec celui-ci. Quelqu'un s'il vous plaît aidez-moi.

Répondre

0

Le problème est

compile 'com.google.android.gms:play-services:+' 

Avez-vous vraiment besoin dans votre application toutes les API Google Play Services? Vous pouvez simplement intégrer ce dont vous avez réellement besoin. Suivez les instructions here - Section « compilation API dans sélectivement l'exécutable »

+0

J'utilise ça pour utiliser google maps ... une idée de ce que je devrais changer? – SoulRayder

+0

Supprimer cette ligne et mettre com.google.android.gms: play-services-cartes: 8.3.0 – Dekra

+0

Je l'ai fait .. il dit ne pas trouver – SoulRayder

0
dependencies { 
compile 'com.android.support:appcompat-v7:23.1.0' 
compile 'com.android.support:support-v4:23.1.0' 
compile 'com.google.android.gms:play-services-maps:8.3.0' 
compile 'com.google.apis:google-api-services-youtube:v3-rev152-1.21.0' 
compile files('libs/twitter4j-core-4.0.1.jar') 
compile files('libs/api-1.3.jar') 
compile files('libs/json-simple.jar') 
compile files('libs/google-oauth-client-1.16.0-rc.jar') 
compile files('libs/google-oauth-client-jetty-1.11.0-beta.jar') 
compile files('libs/google-oauth-client-java6-1.11.0-beta.jar') 
} 

Il devrait fonctionner de cette façon et vous aurez pas besoin du

multidexenabled true 

plus.

+0

Je reçois toujours Erreur: Impossible de trouver: com.google.android.gms: play-services-maps: 8.3.0 Ouvrir FileOpen dans la boîte de dialogue Structure du projet – SoulRayder

+0

Je ne pense pas que c'est à cause de cela ... J'ai essayé d'utiliser 8.1 au lieu de 8.3 et mes erreurs d'origine étaient toujours là – SoulRayder

+0

êtes-vous capable de partager votre projet? – Dekra