在build.gradle中,我们可以添加参数
android {
dexOptions {
incremental
preDexLibraries
jumboMode
javaMaxHeapSize
}
}
但是文档太少了
布尔增量
是否开启dx的增量模式。这有很多限制,可能不起作用。请谨慎使用。
布尔jumboMode
在dx中启用巨型模式(--force- jumbo )。
布尔preDexLibraries
是否对dex库进行前处理。这可以改进增量构建,但干净的构建可能会更慢。
1)增量中有哪些限制?
2)什么是巨型模式?
3)什么是pre-dex库?
发布于 2016-10-08 20:48:09
首先让我们看看dex文件是什么。在纯java中,当你编译java代码时,它会被编译成一个.class
文件,而在android中,你的java代码会被编译成.dex
文件。(两者都是字节码,但不同)
incremental
:这意味着Gradle将使用以前的dex文件,并将新的更改附加到它们(而不是每次都重新构建它们)。
你的第一个Q的答案:例如,其中一个限制是你不能将它与multidex*一起使用(尽管这个限制已经解决了-对于sdk版本,21+可以通过只重建受影响的dex文件来为multidex apk进行增量构建)
-note:你不需要再担心这个限制了,因为从Gradle version2.1.0开始,默认情况下增量选项是真的
multidex
:这个选项意味着将java代码编译到多个dex文件中,除非您的代码方法数量超过了单个dex文件的最大限制(64k方法),否则您不需要这个选项。
jumboMode
(你的第二个Q的答案):dex文件中的字符串计数也有一个限制,启用这个选项会扩展dex文件中的字符串计数(这个选项是从Gradle2.1.0开始的,所以你也不用担心这个问题)
preDexLibraries
(,你的第三个Q的答案):它从库中构建dex文件,所以它可以在增量构建中使用(不是每次都为库构建dex文件)。因此,在干净构建时使用此项目会使一切变得更慢。
https://stackoverflow.com/questions/32890868
复制相似问题