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
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
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
mettre multiDex dans votre classement
defaultConfig {
// ...
multiDexEnabled true
}
c'est un travail pour moi.
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
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.
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'
}
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.
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'
}