Android Plugin DSL——DexOptions
2025-10-29 00:12:31 | 中国队世界杯出线 | admin | 9806°c
在Android Gradle插件中,在android内可定义并配置dexOptions,DexOptions对象是用来配置dx选项的(生成dex文件的选项)。
属性
属性名说明additionalParameters执行dx生成dex文件的额外参数列表。对于属性无法设置的参数,可是通过该字段拼接传入,具体参考dx工具介绍javaMaxHeapSize执行dx生成dex是临时设定的-Xmx值,示例: “2048m”。jumboMode在dx(–force-jumbo)中启用巨型模式keepRuntimeAnnotatedClasses将所有带有运行时注释的类保留在旧版multidex中的主dex中。默认情况下,此功能已启用,并且可以解决在较旧的android版本上使用java.lang.reflect.Field.getDeclaredAnnotations时导致应用程序崩溃的问题。对于不使用反射并在其主dex中需要更多空间的应用,可以禁用此功能。maxProcessCount可用于dex的最大并发数,默认 4。preDexLibraries是否预索引库。这会改善增量编译,但是会使得清理编译变得更慢。threadCount执行dx生成dex的进程数量,默认4。dx工具
对于DexOptions中的所有属性,都是传递给dx工具生成dex的配置,dx工具可以在../sdk/build-tools/
对于生成dex,使用dx --dex命令,参数可以参考dx --help的输出帮助信息,这里介绍几个常用的参数配置:
--multi-dex 允许在需要的时候生成多个dex文件。这个参数与--incremental互斥,会导致--num-threads被忽略,而且输出仅支持文件夹或者存档文件(压缩文件)。PS:在build.gradle中,可以使用 multiDexEnabled true进行设置--main-dex-list=
此选项与–incremental互斥,导致–num-threads被忽略,仅支持文件夹或存档输出。
PS:更多的使用方法可以参考dx --help