dexOptions 中的 incremental、preDexLibraries、jumboMode 是什么意思?
What's the meaing of: incremental, preDexLibraries, jumboMode, inside dexOptions?
在build.gradle里面我们可以添加参数
android {
dexOptions {
incremental
preDexLibraries
jumboMode
javaMaxHeapSize
}
}
但文档太少
boolean incremental
Whether to enable the incremental mode for dx. This has many limitations and may not work. Use carefully.
boolean jumboMode
Enable jumbo mode in dx (--force-jumbo).
boolean preDexLibraries
Whether to pre-dex libraries. This can improve incremental builds, but clean builds may be slower.
1) 哪些限制是递增的?
2) 什么是巨型模式?
3) 什么是pre-dex库?
首先让我们看看什么是 dex 文件。在纯 java 中,当您编译 java 代码时,它将被编译成一个 .class
文件,而在 android 中,您的 java 代码将被编译成 .dex
文件。 (都是字节码但不同)
incremental
:这意味着 Gradle 将使用以前的 dex 文件并将新的更改附加到它们(而不是每次都重新构建它们)。
您第一个问题的答案:例如限制之一是您不能将它与 multidex* 一起使用(尽管此限制已解决 - 对于 sdk 版本,通过仅重建受影响的 dex 文件,multidex apks 可以进行 21+ 增量构建)
-注意:您无需再担心此限制,因为自 Gradle 版本 2.1.0
以来增量选项默认为真
multidex
:这个选项意味着将java代码编译成多个dex文件你不需要这个,除非你的代码方法超过单个dex文件的最大限制(64k方法)
jumboMode
(你第二个问题的答案):dex文件中的字符串计数也有限制,启用此选项将扩展字符串计数dex 文件(此选项自 Gradle 2.1.0 起为真,因此您也不必担心)
preDexLibraries
(你第三个问题的答案):它从库中构建 dex 文件,因此可以在增量构建中使用(不是每次都为库构建 dex 文件)。所以在干净构建时使用这个项目会使一切变慢。
在build.gradle里面我们可以添加参数
android {
dexOptions {
incremental
preDexLibraries
jumboMode
javaMaxHeapSize
}
}
但文档太少
boolean incremental
Whether to enable the incremental mode for dx. This has many limitations and may not work. Use carefully.
boolean jumboMode
Enable jumbo mode in dx (--force-jumbo).
boolean preDexLibraries
Whether to pre-dex libraries. This can improve incremental builds, but clean builds may be slower.
1) 哪些限制是递增的?
2) 什么是巨型模式?
3) 什么是pre-dex库?
首先让我们看看什么是 dex 文件。在纯 java 中,当您编译 java 代码时,它将被编译成一个 .class
文件,而在 android 中,您的 java 代码将被编译成 .dex
文件。 (都是字节码但不同)
incremental
:这意味着 Gradle 将使用以前的 dex 文件并将新的更改附加到它们(而不是每次都重新构建它们)。
您第一个问题的答案:例如限制之一是您不能将它与 multidex* 一起使用(尽管此限制已解决 - 对于 sdk 版本,通过仅重建受影响的 dex 文件,multidex apks 可以进行 21+ 增量构建)
-注意:您无需再担心此限制,因为自 Gradle 版本 2.1.0
以来增量选项默认为真multidex
:这个选项意味着将java代码编译成多个dex文件你不需要这个,除非你的代码方法超过单个dex文件的最大限制(64k方法)
jumboMode
(你第二个问题的答案):dex文件中的字符串计数也有限制,启用此选项将扩展字符串计数dex 文件(此选项自 Gradle 2.1.0 起为真,因此您也不必担心)
preDexLibraries
(你第三个问题的答案):它从库中构建 dex 文件,因此可以在增量构建中使用(不是每次都为库构建 dex 文件)。所以在干净构建时使用这个项目会使一切变慢。