Android Studio DexIndexOverflowException: method ID not in

走远了吗. 提交于 2019-12-28 04:51:09

问题


I use Android Studio to develop an application and I face this error which I have no idea how to solve.

com.android.dex.DexIndexOverflowException: method ID not 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 

回答1:


Try to enable multiDex in build.gradle:

android {

    defaultConfig {
        ...

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

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

This article may helpful: DexIndexOverflowException issue after updating to latest appcompat and support library




回答2:


Android has a pre-defined upper limit of Methods of 65536.

if you added play services as whole please remove it and add specific ones.

remove compile 'com.google.android.gms:play-services:9.6.1' and then add ex: compile 'com.google.android.gms:play-services-maps:9.6.1' for maps.

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

shows a list of the separate APIs that you can include when compiling your app, and how to describe them in your build.gradle file




回答3:


set multiDex in your gradle

defaultConfig {
    // ...
    multiDexEnabled true
}

it's work for me.




回答4:


Best way use individual package under the list of all google services package.

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 Recognition com.google.android.gms:play-services-location:11.2.0
Google Maps com.google.android.gms:play-services-maps:11.2.0
Google Mobile Ads     com.google.android.gms:play-services-ads:11.2.0
Google Places com.google.android.gms:play-services-places:11.2.0
Mobile Vision com.google.android.gms:play-services-vision:11.2.0
Google Nearby com.google.android.gms:play-services-nearby:11.2.0
Google Panorama Viewer com.google.android.gms:play-services-panorama:11.2.0
Google Play Game services com.google.android.gms:play-services-games:11.2.0
SafetyNet com.google.android.gms:play-services-safetynet:11.2.0
Android Pay com.google.android.gms:play-services-wallet:11.2.0
Android Wear com.google.android.gms:play-services-wearable:11.2.0




回答5:


    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'
}



回答6:


DexIndexOverflowException is also caused by exceeding 65536 methods. This can easily happen when adding a large library such as Google Play services. See this answer for a solution.




回答7:


more than 4 months that i find this error in my projects created by myself i'm losing more than 14 projects with this thing. i'm looking to all places of stackoverflow and other and also the website official of android.developer.multidex extr..... but any method official of google android was solve my issues.

finally i'm trying with the simple change of google play service of Ads. this's the final solution that i'm finding :

  • firstly compile witch i find the error is : compile 'com.google.android.gms:play-services:9.0.2'

  • the change is just to add "-maps" and make sure that your ads it's working perfectly ! compile 'com.google.android.gms:play-services-maps:9.0.2'

the version 9.0.2 can let your minSdkVersion 11 working, as you know the Ads can working only with version 11 and hight !

i'm proud to find the solution and share this simple solution to solve the issue of other persons.




回答8:


Execution failed for task ':app:transformDexArchiveWithDexMergerForDebug'.

com.android.build.api.transform.TransformException: com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536

Latest version com.android.support:multidex:1.0.3 worked for me!

dependencies {
  compile 'com.android.support:multidex:1.0.3'
}


来源:https://stackoverflow.com/questions/38714651/android-studio-dexindexoverflowexception-method-id-not-in

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!