“ multiDexEnable true”是什么意思?

什么是“多重启用真实”在 Android 等级。我们为什么要用这个?如果启用它,会产生什么效果?

54019 次浏览

它允许你用超过64k 的方法构建应用程序

中包含可执行字节码文件 形式的 Dalvik 可执行(DEX)文件,其中包含编译 用于运行应用程序的代码 在一个 DEX 中可以引用的方法的总数 65,536,包括 Android 框架方法,库方法, 以及自己的代码中的方法。要超过这个限制,需要 您配置您的应用程序生成过程,以生成多个 DEX 文件,称为 multidex 配置。

你应该阅读关于 使用超过64K 方法构建应用程序的官方指南

Android 应用程序默认支持 SingleDex,这限制了应用程序只能有65536个方法(引用)。所以 multidexEnable = true 只是意味着现在可以在应用程序中编写超过65536个方法(引用)。

但我永远不会写65536方法!

当我们说方法的数量时,它的意思是

你写的方法 + Android 框架方法 + 第三方 库(例如 Volley,卢克菲特,Facebook SDK 等)方法。

我在一篇帖子里看到
App Compat 24.2.1包含16.5 k 个方法
Google Play Services GCM 9.6.1包含16.7 k 个方法。
因此,如果您刚刚编写了一个简单的 Hello world 应用程序,其中包含 AppCompat 24.2.1,那么您的应用程序已经包含了 一万六千七方法。

如何启用多索引支持

它取决于应用程序的 minSdkVersion

如果 minSdkVersion > = 21,那么可以通过编写 multidexEnable = true 来启用它
如果 minSdkVersion < 21,那么你必须在你的年级中加入 多指标兼容库
更多信息请参见 < a href = “ https://developer.android.com/Studio/build/multidex.html”rel = “ norefrer”> 启用 multidex 支持

MultiDex 的优势

Multidex 允许您的应用程序拥有更多的第三方库。

更多关于.dex 文件

Android 应用程序被编译为。Dex file/files,这些文件又被压缩到一个。Apk 文件。.Dex 文件具有由 Dalvik 虚拟机(DVM)使用的字节码。
你可以在 http://github.com/dogriffiths/HeadFirstAndroid/wiki/How-Android-Apps-are-Build-and-Run”rel = “ norefrer”> . dex 和 DVM 上阅读更多