web-dev-qa-db-fra.com

Android Studio DexIndexOverflowException: l'ID de méthode n'est pas dans

J'utilise Android Studio pour développer une application et je suis confronté à cette erreur que je ne sais pas comment résoudre.

com.Android.dex.DexIndexOverflowException: l'ID de méthode n'est pas dans [0, 0xffff]

:app:lintVitalRelease
:app:prePackageMarkerForRelease
:app:transformClassesWithDexForRelease FAILED
Error:Execution failed for task ':app:transformClassesWithDexForRelease'.
> com.Android.build.api.transform.TransformException: com.Android.ide.common.process.ProcessException: Java.util.concurrent.ExecutionException: com.Android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536
Information:BUILD FAILED
Information:Total time: 34.783 secs
Information:1 error 
59
Hassan Ouhadou

Essayez d'activer multiDex dans build.gradle:

Android {

    defaultConfig {
        ...

        // Enabling multidex support.
        multiDexEnabled true
    }
    ...
}

dependencies {
  compile 'com.Android.support:multidex:1.0.0'
}

Cet article peut être utile: Problème DexIndexOverflowException après la mise à jour vers la dernière bibliothèque appcompat et support

119
VirginsTv

Android a une limite supérieure prédéfinie de méthodes de 65 536.

si vous avez ajouté les services de jeu dans leur ensemble, supprimez-les et ajoutez-en des spécifiques.

supprimez compile 'com.google.Android.gms:play-services:9.6.1' puis ajoutez ex: compile 'com.google.Android.gms:play-services-maps:9.6.1' pour les cartes.

https://developers.google.com/Android/guides/setup

affiche une liste des API distinctes que vous pouvez inclure lors de la compilation de votre application et comment les décrire dans votre fichier build.gradle

27
vbp

mettre multiDex dans votre classement

defaultConfig {
    // ...
    multiDexEnabled true
}

c'est un travail pour moi.

21
Eugene Lezov

La meilleure façon d'utiliser un package individuel dans la liste de tous les packages de services Google.

Google Play services API                Description in build.gradle                                       
Google+                                           com.google.Android.gms:play-services-plus:11.2.0
Google Account Login                     com.google.Android.gms:play-services-auth:11.2.0
Google Actions, Base Client Librarycom.google.Android.gms:play-services-base:11.2.0
Google Address                               API com.google.Android.gms:play-services-identity:11.2.0
Google Analytics                             com.google.Android.gms:play-services-analytics:11.2.0
Google Awareness                         com.google.Android.gms:play-services-awareness:11.2.0
Google Cast                                   com.google.Android.gms:play-services-cast:11.2.0
Google Cloud Messaging               com.google.Android.gms:play-services-gcm:11.2.0
Google Drive                                 com.google.Android.gms:play-services-drive:11.2.0
Google Fit                                      com.google.Android.gms:play-services-fitness:11.2.0
Google Location and Activity Recognitioncom.google.Android.gms:play-services-location:11.2.0
Google Mapscom.google.Android.gms:play-services-maps:11.2.0
Google Mobile Ads    com.google.Android.gms:play-services-ads:11.2.0
Google Placescom.google.Android.gms:play-services-places:11.2.0
Mobile Visioncom.google.Android.gms:play-services-vision:11.2.0
Google Nearbycom.google.Android.gms:play-services-nearby:11.2.0
Google Panorama Viewercom.google.Android.gms:play-services-panorama:11.2.0
Google Play Game servicescom.google.Android.gms:play-services-games:11.2.0
SafetyNetcom.google.Android.gms:play-services-safetynet:11.2.0
Android Paycom.google.Android.gms:play-services-wallet:11.2.0
Android Wearcom.google.Android.gms:play-services-wearable:11.2.0

7
Ahmad Aghazadeh

DexIndexOverflowException est également causé par le dépassement de 65 536 méthodes. Cela peut facilement arriver lors de l'ajout d'une grande bibliothèque telle que les services Google Play. Voir cette réponse pour une solution.

5
scai
    Error:Execution failed for task ':app:transformClassesWithDexForDebug'.
> com.Android.build.api.transform.TransformException: com.Android.ide.common.process.ProcessException: Java.util.concurrent.ExecutionException: com.Android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536


solution : inside build.gradle(app)
defaultConfig {
        applicationId "com.rentalhousereviews"
        ------------
        -----------
        multiDexEnabled true  //add this line
    }



dependencies {
compile 'com.Android.support:multidex:1.0.1'
}
5
Kishore Reddy

plus de 4 mois que je trouve cette erreur dans mes projets créés par moi-même, je perds plus de 14 projets avec cette chose . .multidex extr ..... mais toute méthode officielle de Google Android était de résoudre mes problèmes.

enfin, j'essaie avec le simple changement de service de Google Play dans Ads . C'est la solution finale que je trouve:

  • premièrement, compiler ce que je trouve que l'erreur est la suivante: compiler 'com.google.Android.gms: play-services: 9.0.2'

  • le changement consiste simplement à ajouter des "-maps" et à vous assurer que vos annonces fonctionnent parfaitement! compiler 'com.google.Android.gms: play-services-maps: 9.0.2'

la version 9.0.2 peut laisser votre minSdkVersion 11 fonctionner, comme vous le savez, les annonces ne peuvent fonctionner qu'avec la version 11 et plus!

je suis fier de trouver la solution et de partager cette solution simple pour résoudre le problème des autres personnes.

2
yaszin

L'exécution a échoué pour la tâche ': app: transformDexArchiveWithDexMergerForDebug'.

com.Android.build.api.transform.TransformException: com.Android.dex.DexIndexOverflowException: l'ID de méthode n'est pas dans [0, 0xffff]: 65536

La dernière version com.Android.support:multidex:1.0.3 a fonctionné pour moi!

dependencies {
  compile 'com.Android.support:multidex:1.0.3'
}
0
Trần Hạnh