我以前几天收到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
吗?
答案 0 :(得分:1)
您的代码必须接近方法的数量限制,我建议进行总体实施。否则,您可以查看依赖项并删除未使用的依赖项并使用ProGuard。好的实践很有帮助,比如在可能的情况下更喜欢使用方法private
。
您可以使用MultiDex。
支持MinDex的最小应用程序。使用传统的multidex 图书馆有3种可能性:
- 将此类声明为AndroidManifest.xml中的应用程序。
- 让您的应用程序扩展此类。
- 让您的应用程序重写attachBaseContext,以protected void attachBaseContext(Context base){super.attachBaseContext(base); MultiDex.install(本);
最后一个应该适合你。