如何使用新的Android Multidex支持库启用多重分化?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (13)

我想使用新的Multidex支持库来打破我的一个应用程序的方法限制。

使用Android Lollipop Google推出了multidex支持库,可以轻松实现multidex。

需要采用哪些步骤来使用这个库并使用multidex支持构建我的应用程序?

提问于
用户回答回答于

自2014年12月3日起,1.0.0-rc1发布构建工具。现在,你需要做的就是修改你的build.gradle

android {
    compileSdkVersion 22
    buildToolsVersion "23.0.0"

         defaultConfig {
             minSdkVersion 14 //lower than 14 doesn't support multidex
             targetSdkVersion 22

             // Enabling multidex support.
             multiDexEnabled true
         }
}

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

如果你正在运行单元测试,你会希望将它包含在你的Application类中:

public class YouApplication extends Application {

    @Override
    protected void attachBaseContext(Context base) {
        super.attachBaseContext(base);
        MultiDex.install(this);
    }

}
用户回答回答于

你可以让应用程序应用程序类扩展MultiDexApplication:

public class MyApplication extends MultiDexApplication

或者像这样覆盖attachBaseContext:

protected void attachBaseContext(Context base) {
 super.attachBaseContext(base);
 MultiDex.install(this);
}

你可以将以下内容添加到你的应用程序的android部分build.gradle:

   dexOptions {
      preDexLibraries = false
   }

以下是你的应用程序build.gradle的一部分:

afterEvaluate {
   tasks.matching {
      it.name.startsWith('dex')
   }.each { dx ->
      if (dx.additionalParameters == null) {
         dx.additionalParameters = ['--multi-dex']
      } else {
         dx.additionalParameters += '--multi-dex'
      }
   }
}

扫码关注云+社区