LoginSignup
150
145

More than 5 years have passed since last update.

Multi-dex Support を使おう

Posted at

Multi-dex とは



 dex  65,535 Google Play Services  Guava 使

Guava  dependency  dependencies 
Google Play Services  All in one ProGuard 使

 65,535 Multi-dex Support 使

Multi-dex Support 1 apk  dex  65,535 
Android Lollipop OSDalvik 1 dex Multi-dex Support API Level 4  Multi-dex 


Multi-dex Support  jar 

/sdk/extras/android/support/multidex/library/libs  android-support-multidex.jar

Application 

Application MultiDexApplication  AndroidManifest <application>
Application ApplicationMultiDexApplication
Application

public class MyApp extends HogeApplication {
  @Override
  protected void attachBaseContext(Context base) {
    super.attachBaseContext(base);
    MultiDex.install(this);
  }
}

最後に、ビルドスクリプトをいじって Multi-dex を使うようにします。


android {
  dexOptions {
    preDexLibraries = false
  }
}

afterEvaluate {
  tasks.matching {
    it.name.startsWith('dex')
  }.each { dx ->
    if (dx.additionalParameters == null) {
      dx.additionalParameters = []
    }
    dx.additionalParameters += '--multi-dex'
    dx.additionalParameters += "--main-dex-list=$projectDir/multidex.keep".toString()
  }
}

multidex.keepclasses.dexclasses.dex

android/support/multidex/BuildConfig.class
android/support/multidex/MultiDex$V14.class
android/support/multidex/MultiDex$V19.class
android/support/multidex/MultiDex$V4.class
android/support/multidex/MultiDex.class
android/support/multidex/MultiDexApplication.class
android/support/multidex/MultiDexExtractor$1.class
android/support/multidex/MultiDexExtractor.class
android/support/multidex/ZipUtil$CentralDirectory.class
android/support/multidex/ZipUtil.class

Application#onCreateclasses.dex Runnable Runnable#run()




65,535 



 Intent  dex 
150
145
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
150
145