我该如何使用Android dexOptions?

时间:2015-03-08 13:58:12

标签: android android-gradle

dexOptions.incremental等的含义是什么? 任何人都可以向我解释。

dex options

android {
    dexOptions {
        incremental false
        preDexLibraries = false
        jumboMode = false
        javaMaxHeapSize "2048M"
    }
}
This affects all tasks using dex.

3 个答案:

答案 0 :(得分:30)

  

boolean incremental

     

是否为dx启用增量模式。这有许多限制,可能无效。小心使用。

     

String javaMaxHeapSize

     

调用dx时设置-JXmx *值。格式应遵循1024M模式。

     

boolean jumboMode

     

在dx(--force-jumbo)中启用巨型模式。

     

boolean preDexLibraries

     

是否预先设定图书馆。这可以改善增量构建,但是干净的构建可能会更慢。

这些可以在这里找到:
http://google.github.io/android-gradle-dsl/current/com.android.build.gradle.internal.dsl.DexOptions.html

答案 1 :(得分:1)

incremental设为true

这是默认情况下禁用的实验性功能。但是你可以启用它。我个人没有注意到速度方面的任何变化(如果它影响速度)。

https://stackoverflow.com/a/24224385/513413可以找到更多解释。

答案 2 :(得分:0)

示例:

dexOptions {
    preDexLibraries = false
    incremental true
    javaMaxHeapSize "12g"
}

afterEvaluate {
    tasks.matching {
      it.name.startsWith('dex')
    }.each { dx ->
      if (dx.additionalParameters == null) {
          dx.additionalParameters = ['--multi-dex']
      } else {
          dx.additionalParameters += '--multi-dex'
      }
    }
}