web-dev-qa-db-ja.com

Android Studio DexIndexOverflowException:メソッドIDが入っていません

私はAndroid Studioを使用してアプリケーションを開発していますが、解決方法がわからないというこのエラーに直面しています。

com.Android.dex.DexIndexOverflowException:メソッドIDが[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 
62
Hassan Ouhadou

Build.gradleでmultiDexを有効にしてみます。

Android {

    defaultConfig {
        ...

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

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

この記事は役に立つかもしれません: 最新のappcompatとサポートライブラリにアップデートした後のDexIndexOverflowExceptionの問題

122
VirginsTv

Androidには、定義済みのメソッドの上限数65536があります。

プレイサービスを全体として追加した場合は、それを削除して特定のものを追加してください。

compile 'com.google.Android.gms:play-services:9.6.1'を削除してから、マップ用にex:compile 'com.google.Android.gms:play-services-maps:9.6.1'を追加します。

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

アプリをコンパイルするときに含めることができる個別のAPIのリストと、それらをbuild.gradleファイルに記述する方法を示します。

27
vbp

あなたのgradleにmultiDexを設定してください

defaultConfig {
    // ...
    multiDexEnabled true
}

それは私のために働きます。

22
Eugene Lezov

最善の方法は、すべての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は、65536を超えるメソッドが原因でも発生します。これは、Google Playサービスなどの大きなライブラリを追加するときに簡単に発生する可能性があります。解決策については この答え を参照してください。

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

私自身が作成した自分のプロジェクトでこのエラーが発生して4ヶ月以上経っても、このことで14を超えるプロジェクトが失われています。私はstackoverflowと他のすべての場所にもAndroid.developer.multidex extr .....のウェブサイトの役人に探していますが、GoogleのAndroidの任意の方法の役人は私の問題を解決した。

最後に私は広告のグーグルプレイサービスの簡単な変更で試しています。これが私が見つけている最後の解決策です:

  • 最初に私はエラーがあると思う魔女をコンパイルする: 'com.google.Android.gms:play-services:9.0.2'をコンパイルする

  • 変更は単に「 - マップ」を追加して、広告が完全に機能していることを確認することです。 「com.google.Android.gms:play-services-maps:9.0.2」をコンパイルします。

バージョン9.0.2では、広告がバージョン11以上でのみ機能することがわかっているので、minSdkVersion 11を機能させることができます。

私はその解決策を見つけて他の人の問題を解決するためにこの簡単な解決策を共有して誇りに思います。

2
yaszin

タスク ':app:transformDexArchiveWithDexMergerForDebug'の実行が失敗しました。

com.Android.build.api.transform.TransformException:com.Android.dex.DexIndexOverflowException:[0、0xffff]にないメソッドID:65536

最新バージョンのcom.Android.support:multidex:1.0.3は私のために働きました!

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