【问题标题】:Android studio - Sync gradle takes too long when a lot of flavors (>70)Android studio - 当很多口味(> 70)时同步 gradle 需要很长时间
【发布时间】:2018-08-08 13:59:06
【问题描述】:

我有一个 android 项目: 2 flavorDimensions(客户和模式) 我有70 多个客户和两种模式:普通和额外。 所有客户都是“正常”的,只有一个客户是“额外的”。

我正在使用 variantFilter { variant -> 在同步我的项目时限制构建变体的数量,以避免无用的客户与“额外”模式相结合,因为只有一个客户使用此模式。

例如:

  • Customer1NormalRelease
  • Customer2NormalRelease
  • Customer3NormalRelease
  • Customer4ExtraRelease
  • Customer5NormalRelease
  • Customer6NormalRelease
  • ...

问题是当我尝试将 gradle 与许多变体同步时,每个变体都需要大量时间。

检查构建时:解决 :appCustomer1NormalReleaseCompileClasspath 的依赖关系需要 8 分钟。 此外,我不明白为什么 appCustomer1NormalReleaseCompileClasspath 尝试解决其他变体的依赖关系,因为它们完全不同(没有意义)。 我的依赖项对项目来说是全局的,没有特定于变体的依赖项。

我正在使用:

  • Android 工作室 3.1.3
  • 类路径'com.android.tools.build:gradle:3.1.3'
  • distributionUrl=https://services.gradle.org/distributions/gradle-4.4-all.zip
  • org.gradle.daemon=true
  • org.gradle.jvmargs=-Xmx4096m -XX:MaxPermSize=1024m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
  • Gradle 全局设置:离线工作
  • 所有图书馆都是远程的,我只有一个本地图书馆

有什么想法吗?

非常感谢您的帮助

【问题讨论】:

    标签: android gradle dependencies synchronization


    【解决方案1】:

    哇,我发现问题出在哪里了!

    我正在使用 OneSignal 推送通知

    我在我的 build.gradle(应用程序)中使用 gradle.plugin.com.onesignal:onesignal-gradle-plugin 来确保正确的行为。

    我只是变了

    classpath 'gradle.plugin.com.onesignal:onesignal-gradle-plugin:0.10.2'
    

    到

    classpath 'gradle.plugin.com.onesignal:onesignal-gradle-plugin:0.11.2'
    

    而且构建速度非常快。 2分钟打造所有口味:O

    所以如果你也有这样的问题,请检查你的 gradle 插件!!!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-04-26
      • 2014-05-30
      • 1970-01-01
      • 1970-01-01
      • 2014-01-14
      • 2016-10-21
      • 2014-07-29
      相关资源
      最近更新 更多