启用Multidex

时间:2017-04-19 17:22:21

标签: android android-gradle android-multidex

我以前几天收到DexIndexOverflowException,我做的是:

a)将multiDexEnabled true添加到我的build.gradle文件中的defaultConfig。

b)在依赖项部分添加compile 'com.android.support:multidex:1.0.1'

之后一切都恢复正常。

今天我正在阅读d.android.com网站上的multidex用户指南(链接here),它说我还应该覆盖MultiDexApplication类(因为我已经从Application扩展{1}})。

我的问题是:因为我没有延长MultiDexApplication怎么可能,只做上面提到的两件事,不接受我之前收到的例外情况?我现在该怎么办?即使现在一切正常,我还应该尝试扩展MultiDexApplication吗?

1 个答案:

答案 0 :(得分:1)

您的代码必须接近方法的数量限制,我建议进行总体实施。否则,您可以查看依赖项并删除未使用的依赖项并使用ProGuard。好的实践很有帮助,比如在可能的情况下更喜欢使用方法private

您可以使用MultiDex。

  

支持MinDex的最小应用程序。使用传统的multidex   图书馆有3种可能性:

     
      
  • 将此类声明为AndroidManifest.xml中的应用程序。
  •   
  • 让您的应用程序扩展此类。
  •   
  • 让您的应用程序重写attachBaseContext,以protected void attachBaseContext(Context base){super.attachBaseContext(base); MultiDex.install(本);
  •   

最后一个应该适合你。