AGP 4.2.2
gradle-6.7.1
arcticfox 2020.3.1
每次我构建我的 android 项目时,我都会看到这个 maven-metadata.xml,它似乎只是减慢了构建速度,而且它似乎卡在那里。每次构建可能需要 10 分钟。有没有办法避免这种情况?
Gradle: Download maven-metadata.xml...
当我运行一个命令行时,我看到了这个:这是我的 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
文件,如果
对于 (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/