android - Android studio - 当很多口味(> 70)时同步 gradle 需要很长时间
问题描述
我有一个 android 项目: 2 flavorDimensions(客户和模式) 我有70 多个客户和2 种模式:正常和额外。所有客户都是“正常的”,只有一个客户是“额外的”。
我正在使用 variantFilter { variant -> 在同步我的项目时限制构建变体的数量,以避免无用的客户与“额外”模式相结合,因为只有一个客户使用此模式。
例如 :
- 客户 1 正常发布
- Customer2NormalRelease
- Customer3NormalRelease
- Customer4ExtraRelease
- Customer5NormalRelease
- 客户6正常发布
- ...
问题是当我尝试将 gradle 与许多变体同步时,每个变体都需要大量时间。
检查构建时:解决 :appCustomer1NormalReleaseCompileClasspath 的依赖关系需要 8 分钟。此外,我不明白为什么 appCustomer1NormalReleaseCompileClasspath 尝试解决其他变体的依赖关系,因为它们完全不同(没有意义)。我的依赖项对项目来说是全局的,没有特定于变体的依赖项。
我正在使用 :
- 安卓工作室 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 全局设置:离线工作
- 所有图书馆都是远程的,我只有一个本地图书馆
任何的想法 ?
一些帮助将不胜感激
解决方案
哇,我发现问题出在哪里!
我正在使用 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 插件!
推荐阅读
- r - 分组数据表中不同维度的数据表列表
- c - 通过管道输入文件在 C 中专门使用标准输入
- node.js - 在带有签名证书的 IIS 上的生产环境中使用 Express HTTPS API
- angular - Angular 8 + Firebase:由于 AngularFireModule.initializeApp(environment.firebase) 无法初始化项目
- opc-ua - open62541 客户端与 OPC-UA 服务器断开连接
- java - 作业问题。日历约会程序的编写方法有问题
- python - googlemaps distance_matrix 创建结果矩阵
- python - 根据逐行操作添加新的 pandas df 列
- azure-machine-learning-service - Dataset.download() 中超时错误的解决方法
- javascript - Angular 4:错误 TS2300:重复标识符“PropertyKey”