android - maven-metadata.xml 在构建时不断收到请求

标签 android android-studio gradle build.gradle

AGP 4.2.2
gradle-6.7.1
arcticfox 2020.3.1    
每次我构建我的 android 项目时,我都会看到这个 maven-metadata.xml,它似乎只是减慢了构建速度,而且它似乎卡在那里。每次构建可能需要 10 分钟。
有没有办法避免这种情况?Gradle: Download maven-metadata.xml...当我运行一个命令行时,我看到了这个:
enter image description here
这是我的 gradle.properties
org.gradle.jvmargs=-Xmx8g -XX:MaxPermSize=512m -XX:ReservedCodeCacheSize=256m -XX:+UseCompressedOops -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8

org.gradle.daemon=true
org.gradle.parallel=true
org.gradle.caching=true
org.gradle.configureondemand=true

kotlin.coroutines=enable
kotlin.code.style=official
kapt.use.worker.api=true
kapt.incremental.apt=true

android.enableD8.desugaring=true
android.useAndroidX=true
android.enableJetifier=true
我正在使用 build.gradle(app) 中指定的一些 maven 存储库:
maven { url "https://www.jitpack.io" }
maven { url 'http://......./repo/maven2' }
maven { url "https://....../repositories/snapshots" }
maven { url 'https://....../maven/release' }
maven { url "http://......./bintray.com/maven" }
maven { url "https://....../objectbox/objectbox" }

最佳答案

Gradle 通常需要下载一个 maven-metadata.xml文件,如果

  • 您使用 dynamic/changing version对于您的依赖项之一,以及
  • time to live (TTL)在依赖缓存中结束了。

  • 对于 (1),您应该寻找类似 1.2.3-SNAPSHOT 的版本或 1.2.+在您声明的依赖项上(或在 ./gradlew dependencies 为简单起见)。如果你有任何这样的版本,你真的需要它们吗?使用固定版本,如 1.2.3应该更快。
    对于 (2),您是否更改了默认 TTL 阈值,或者您是否总是使用 --refresh-dependencies 构建? ?如果不是,那么这种缓慢的发生频率至少不应超过一天一次。
    如果上述方法没有帮助,那么可以尝试使用 --info 运行您的构建。或 --info --refresh-dependencies并仔细观察日志输出。这应该显示哪个依赖项和/或哪个存储库是罪魁祸首(即,日志记录停留时间最长的那个)。如果你找到这样的罪魁祸首,那么你可以调查类似的事情
  • 替换依赖项(或存储库),
  • 提高存储库服务器或网络的速度,或
  • 从有问题的 maven-metadata.xml 中删除旧的快照版本文件(如果您控制存储库)。

  • 如果所有这些仍然没有出现可操作的项目,那么也许值得寻找更大的 maven-metadata.xml Gradle 依赖项缓存中的文件。也许重复下载如此大的文件是问题所在,上一个列表中的一种方法可能会有所帮助。这是如何找到最大的 10 个 maven-metadata.xml 的一个想法文件(使用 Unix shell 命令):
    find ~/.gradle/caches/modules-2/resources-* \
            -name maven-metadata.xml \
            -printf '%s\t%p\n' \
        | sort -k1 \
        | tail
    

    关于android - maven-metadata.xml 在构建时不断收到请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68776691/

    相关文章:

    java - 在java中如何合并两个不同大小的arraylist并制作一个新的Arraylist?

    android - 在特定时间启动应用程序

    Android Studio 在全屏 MAC OSX 中卡住

    java - 构建 gradle 项目时找不到 tools.jar

    gradle - 用Gradle生成的jar存档中的目录条目

    java - Gradle:如何将 servlet JARS 复制到 WAR 文件中的文件夹?

    java - Facebook 登录后将 Activity 重定向到 Frontpage Activity

    android - 如何在 Cordova/Phonegap 中使用 Google 登录 API

    android - 如何禁用捏放大android studio模拟器?

    android - 在现有的 IntelliJ Ultimate 安装上安装 Android Studio