当前位置: 首页 > 知识库问答 >
问题:

最新版本的Android gradle插件导致构建速度过慢

许出野
2023-03-14

因此,我们更新到最新版本的gradle插件。

从那以后,我的构建变得非常慢。罪魁祸首似乎是

compileDebugKotlin

奇怪的是,另一个人用完全相同的设置获得了更好的时光。

格拉德尔。属性:

    # Project-wide Gradle settings.

# IDE (e.g. Android Studio) users:
# Gradle settings configured through the IDE *will override*
# any settings specified in this file.

# For more details on how to configure your build environment visit
# http://www.gradle.org/docs/current/userguide/build_environment.html

# Specifies the JVM arguments used for the daemon process.
# The setting is particularly useful for tweaking memory settings.
#org.gradle.jvmargs=-Xmx1Fg536m
# Increase memory allotted to JVM
org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8


# When configured, Gradle will run in incubating parallel mode.
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
org.gradle.parallel=true

#android.enableSeparateAnnotationProcessing=true
android.useAndroidX=true
android.enableJetifier=true
android.injected.testOnly = false
org.gradle.caching=true


org.gradle.daemon=true
# Enable Configure on demand
org.gradle.configureondemand=true

gradle包装。属性

#Wed Jan 12 11:49:46 MSK 2022
distributionBase=GRADLE_USER_HOME
distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-bin.zip
distributionPath=wrapper/dists
zipStorePath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME

项目级构建。格拉德尔:

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    ext.kotlin_version = "1.7.0"
    repositories {
        google()
        jcenter()
        maven { url 'https://dl.bintray.com/kotlin/kotlin-eap' }

    }
    dependencies {
        //classpath 'com.android.tools.build:gradle:7.0.3'
        classpath 'com.android.tools.build:gradle:7.0.4'
        classpath 'com.google.gms:google-services:4.3.10'
        classpath "io.realm:realm-gradle-plugin:6.0.2"
//        classpath 'com.google.firebase:firebase-crashlytics-gradle:2.3.0'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.0"
    }
}

allprojects {
    repositories {
        google()
        jcenter()
        maven { url 'https://github.com/WickeDev/stetho-realm/raw/master/maven-repo' }
        maven { url 'https://jitpack.io' }

        maven {
            url 'https://maven.wefi.com/repository/wefi-release-repo'
            artifactUrls 'https://maven.wefi.com/repository/wefi-release-repo'
        }
        configurations.all {
            resolutionStrategy {
                force 'org.xerial:sqlite-jdbc:3.34.0'
            }
        }
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

我使用的是Kotlin插件1.6.10,但为了匹配另一个人的版本,我将其降级为1.6.0。仍然没有改善。

奇怪的是,如果我们回到上一个梯度,一切都很好。超快构建。

编辑:我不是在问它为什么要重建那个模块。我知道。我的问题是,为什么构建花费了如此多的时间。

共有1个答案

单于帅
2023-03-14

因此,经过多次努力,我终于解决了这个问题。

首先,我确保将Kotlin更新到最新版本。这实际上并没有解决它,但它为我指明了正确的方向。我进一步查看了我的gradle文件,注意到我收到了警告“Kotlin插件版本与库版本不同”。

我在这里找到一条线索

我从所有build.gradle文件中删除了以下行:

implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"

这解决了我的问题。我的构建现在回到了一分钟左右。

 类似资料:
  • 在Android Studio中使用Firebase Performance时,gradle任务的时间比任何其他任务都要长,因此大大减慢了我的gradle构建时间。 探查器中显示的生成速度较慢

  • 我是maven的新手,我已经用pom文件编写了自己的maven插件 然后,在我的IDE(intellij)中,我使用clean install安装maven插件 扎克

  • 我得到了 错误:超过最大更新深度。当组件在componentWillUpdate或componentDidUpdate内重复调用setState时,可能会发生这种情况。React限制嵌套更新的数量,以防止无限循环。 但我读到的内容应该能够在componentDidMount中调用setState而不会出错。 }

  • 我试图在我的项目中添加添加新的UI集成测试用例(使用webdriver)。我的项目最初使用selenium Ver2.42.0。我试图将版本更新到3.141.59,并观察到maven测试失败。 2.42.0

  • 在我更改了pom.xml文件的vaadin版本号和vaadin插件版本号后,构建失败 然后,我尝试清理并重建项目,但构建失败表明: [Help 1]的链接没有给出任何错误的线索。如果我回到以前版本的vaadin 7.3.10,项目运行得很好

  • Gradle build scan总是建议Android项目使用最新版本的Gradle(现在是4.0.2)。 您是否注意到了任何构建速度的提高,或者相反,在始终使用最新版本的Gradle时,是否注意到了任何倒退?