以前のリビジョンの文書です
メソッド数が65k(65536)を超えると下記のビルドエラーが発生します。
ライブラリ等のメソッド数も含まれるため、大きめのライブラリをいくつか使用しているとわりと遭遇する。
UNEXPECTED TOP-LEVEL EXCEPTION: com.android.dex.DexIndexOverflowException: method ID not in [0, 0xffff]: 65536
サポートライブラリはビルドツールv21.1.0以上から利用出来ます。
・build.gradle
android {
buildToolsVersion "21.1.+"
defaultConfig {
...
// Enabling multidex support.
multiDexEnabled true
}
}
dependencies {
compile 'com.android.support:multidex:1.0.0'
}
Applicationクラスを実装している場合は、継承をMultiDexApplicationに変更し、attachBaseContextをOverrideする。
・MyApp.class
public class MyApp extends MultiDexApplication {
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
MultiDex.install(this);
}
}
Applicationクラスを実装していない場合は、AndroidManifestの<application>にMultiDexApplicationを指定する。
・AndroidManifest.xml
<application ... android:name="android.support.multidex.MultiDexApplication"> ... </application>