Ich verwende Android Studio, um eine Anwendung zu entwickeln, und ich stehe vor diesem Fehler, den ich nicht zu lösen weiß.
com.Android.dex.DexIndexOverflowException: Methoden-ID nicht in [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
Versuchen Sie, multiDex in build.gradle zu aktivieren:
Android {
defaultConfig {
...
// Enabling multidex support.
multiDexEnabled true
}
...
}
dependencies {
compile 'com.Android.support:multidex:1.0.0'
}
Dieser Artikel kann hilfreich sein: DexIndexOverflowException-Problem nach dem Aktualisieren auf die neueste Appcompat- und Support-Bibliothek
Android hat eine vordefinierte Obergrenze für Methods von 65536.
wenn Sie Play-Services als Ganzes hinzugefügt haben, entfernen Sie sie und fügen Sie bestimmte hinzu.
entfernen Sie compile 'com.google.Android.gms:play-services:9.6.1'
und fügen Sie dann ex: compile 'com.google.Android.gms:play-services-maps:9.6.1'
für Karten hinzu.
https://developers.google.com/Android/guides/setup
zeigt eine Liste der separaten APIs an, die Sie beim Kompilieren Ihrer App einschließen können, und zeigt, wie Sie diese in der Datei build.gradle beschreiben
setze multiDex in deinem gradle
defaultConfig {
// ...
multiDexEnabled true
}
es ist Arbeit für mich.
Verwenden Sie am besten einzelne Pakete unter der Liste aller Google Services-Pakete.
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
wird auch durch das Überschreiten von 65536 Methoden verursacht. Dies kann leicht passieren, wenn Sie eine große Bibliothek wie Google Play-Dienste hinzufügen. Siehe diese Antwort für eine Lösung.
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'
}
mehr als 4 Monate, dass ich diesen Fehler in meinen von mir erstellten Projekten finde, verliere ich mehr als 14 Projekte mit diesem Ding ..multidex extr ..... aber jede offizielle Methode von Google Android war meine Probleme zu lösen.
schließlich versuche ich es mit dem einfachen Wechsel des Google Play-Services von Ads . Dies ist die endgültige Lösung, die ich finde:
zuerst kompilieren, wobei der Fehler lautet: kompilieren 'com.google.Android.gms: play-services: 9.0.2'
die Änderung besteht nur darin, "-maps" hinzuzufügen und sicherzustellen, dass Ihre Anzeigen einwandfrei funktionieren. compile 'com.google.Android.gms: play-services-maps: 9.0.2'
die Version 9.0.2 kann Ihre minSdkVersion 11 zum Laufen bringen, da Sie wissen, dass die Ads nur mit Version 11 und Höhe funktionieren.
ich bin stolz darauf, die Lösung zu finden und diese einfache Lösung zu teilen, um das Problem anderer Personen zu lösen.
Ausführung fehlgeschlagen für Task ': app: transformDexArchiveWithDexMergerForDebug'.
com.Android.build.api.transform.TransformException: com.Android.dex.DexIndexOverflowException: Methoden-ID nicht in [0, 0xffff]: 65536
Neueste Version com.Android.support:multidex:1.0.3
arbeitete für mich!
dependencies {
compile 'com.Android.support:multidex:1.0.3'
}