gpt4 book ai didi

android - 使用 Gradle 在 Android Studio 中从编译中排除 .jar

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:17:21 24 4
gpt4 key购买 nike

我目前在 build.gradle 文件中有类似的东西。

dependencies {
compile 'com.android.support:support-v4:13.0.+'
compile ('com.xxx:xxx-commons:1.+') {

}
}

问题出现了,因为 jUnit 和 hamcrest-core 都存在于 com.xxx:xxx maven 存储库中,产生了这样的错误:

Gradle: Origin 1: /Users/yyy/.gradle/caches/artifacts-26/filestore/junit/junit/4.11/jar/4e031bb61df09069aeb2bffb4019e7a5034a4ee0/junit-4.11.jar
Gradle: Origin 2: /Users/yyy/.gradle/caches/artifacts-26/filestore/org.hamcrest/hamcrest-core/1.3/jar/42a25dc3219429f0e5d060061f71acb49bf010a0/hamcrest-core-1.3.jar

Gradle: Execution failed for task ':android:packageDebug'.
> Duplicate files copied in APK LICENSE.txt
File 1: /Users/yyy/.gradle/caches/artifacts-26/filestore/junit/junit/4.11/jar/4e031bb61df09069aeb2bffb4019e7a5034a4ee0/junit-4.11.jar
File 2: /Users/yyy/.gradle/caches/artifacts-26/filestore/junit/junit/4.11/jar/4e031bb61df09069aeb2bffb4019e7a5034a4ee0/junit-4.11.jar

由于现在 jUnit 实际上包含了 hamcrest 库,所以有一种方法可以实际排除 jar,即:hamcrest-core-1.3.jar或者排除所有 .txt 文件,或者从 maven 存储库中排除所有 jUnit(它没有被使用)。

还有其他有用的想法吗?

最佳答案

是的,你可以exclude transitive dependencies :

在您的情况下,这将是:

dependencies {
compile 'com.android.support:support-v4:13.0.+'
compile ("com.xxx:xxx-commons:1.+") {
exclude group: 'junit', module: 'junit'
}
}

configurations {
all*.exclude group: 'junit', module: 'junit'
}

关于android - 使用 Gradle 在 Android Studio 中从编译中排除 .jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20071671/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com