Gradle或Android中的索引是什么?
在Gradle中,dexoptions
是什么意思?
有时我的项目不能编译,因为一些错误。我需要激活ProGuard来编译我的Android应用程序。
在标准java世界中:
当你编译标准java代码时:编译器生成*.class文件。class文件包含可以在标准JVM上执行的标准java字节码。
在Android世界:
这是不同的。您使用java语言编写代码,但是编译器不会生成*.class文件,而是生成*.dex文件。*.dex
文件包含可以在Android虚拟机(dalvik)上执行的字节码,而这不是标准的Java虚拟机。
需要说明的是:android中的索引文件相当于标准java中的类。
所以dexoptions
是一个gradle对象,其中定义了一些配置java代码到android字节码转换的选项。通过该对象配置的选项有:
- targetAPILevel
- force-jumbo模式(启用后允许在索引文件中使用更大数量的字符串)
启用jumboMode
:
android {
dexOptions {
jumboMode = true
}
}