【问题标题】:how can I use Android dexOptions?如何使用 Android dexOptions?
【发布时间】:2015-03-08 13:58:12
【问题描述】:

dexOptions.incremental等是什么意思 任何机构都可以向我解释。

dex options

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

【问题讨论】:

  • 仅供参考,preDexLibraries 设置应在 CI 服务器上设置为 false。
  • 为什么我们应该为 CI 服务器设置 preDexLibraries 为 false?

标签: android android-gradle-plugin


【解决方案1】:

boolean incremental

是否开启dx的增量模式。这有很多限制,可能不起作用。谨慎使用。

String javaMaxHeapSize

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

boolean jumboMode

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

boolean preDexLibraries

是否预 dex 库。这可以改进增量构建,但干净的构建可能会更慢。

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

【讨论】:

【解决方案2】:

incremental 设置为true

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

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

【讨论】:

    【解决方案3】:

    例子:

    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'
          }
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2022-01-12
      • 1970-01-01
      • 1970-01-01
      • 2015-12-29
      • 2018-04-07
      • 1970-01-01
      • 1970-01-01
      • 2014-08-04
      • 2015-03-28
      相关资源
      最近更新 更多