什么是Gradle中的dex

时间:2014-06-14 20:50:18

标签: android android-gradle proguard dex dexoptions

Gradle或Android中的dex是什么?

在Gradle中,dexoptions的含义是什么?

有时我的项目因为一些dexerrors而无法编译。 我需要激活ProGuard来编译我的Android应用程序。

1 个答案:

答案 0 :(得分:36)

在标准的java世界中:

编译标准java代码时:编译器生成* .class文件。 * class文件包含可在标准JVM上执行的标准java字节码。

在Android世界中:

不同。您使用java语言编写代码,但编译器不生成* .class文件,它生成* .dex文件。 *.dex文件包含可在Android虚拟机(dalvik)上执行的字节码,这不是标准的Java虚拟机。

要明确:android中的dex文件相当于标准java中的类。

所以dexoptions is a gradle object定义了配置此 java-code-to-android-bytecode 转换的一些选项。通过此对象配置的选项是:

  • targetAPILevel
  • force-jumbo模式(启用后,它允许在dex文件中包含更多字符串)

启用jumboMode

android {
    dexOptions {
        jumboMode = true
    }
}