什么是Gradle中的dex

psv*_*psv 10 android proguard dex android-gradle-plugin dexoptions

Gradle或Android中的dex是什么?

在Gradle,意思是dexoptions什么?

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

ben*_*n75 37

在标准的java世界中:

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

在Android世界中:

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

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

dexoptions是一个gradle对象,其中定义了一些配置此java-code-to-android-bytecode转换的选项.通过此对象配置的选项是:

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

启用jumboMode :

android {
    dexOptions {
        jumboMode = true
    }
}
Run Code Online (Sandbox Code Playgroud)