gpt4 book ai didi

android - Gradle:只解决所需变体的依赖关系

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:15:16 28 4
gpt4 key购买 nike

我有一个具有三种风格的测试应用:

  • dev:在开发期间使用库的本地副本
  • qa:在 QA 期间使用快照
  • rc:使用预发布版本进行发布候选测试。

dependencies {
devCompile project(':library')
qaCompile 'com.example:library:1.0.0-SNAPSHOT@aar'
rcCompile 'com.example:library:1.0.0@aar'
}

我运行 Gradle,并希望它完成构建我想要的所需的最少工作量:

./gradlew :test-app:connectedAndroidTestDevDebug

但是,构建失败了,因为它试图解决所有构建风格的依赖关系,而不仅仅是我正在构建的那个。

FAILURE: Build failed with an exception.

* What went wrong:

A problem occurred configuring project ':test-app'.

Could not resolve all dependencies for configuration ':test-app:_qaDebugCompile'.

Could not find com.example:library1.0.0-SNAPSHOT.

Searched in the following locations:
https://repo1.maven.org/maven2/com/example/library/1.0.0-SNAPSHOT/maven-metadata.xml
https://repo1.maven.org/maven2/com/example/library/1.0.0-SNAPSHOT/library-1.0.0-SNAPSHOT.pom
https://repo1.maven.org/maven2/com/example/library/1.0.0-SNAPSHOT/library-1.0.0-SNAPSHOT.aar
http://oss.sonatype.org/content/repositories/snapshots/com/example/library/1.0.0-SNAPSHOT/maven-metadata.xml
http://oss.sonatype.org/content/repositories/snapshots/com/example/library/1.0.0-SNAPSHOT/library-1.0.0-SNAPSHOT.pom
http://oss.sonatype.org/content/repositories/snapshots/com/example/library/1.0.0-SNAPSHOT/library-1.0.0-SNAPSHOT.aar
file:/opt/android-sdk-macosx/extras/android/m2repository/com/example/library/1.0.0-SNAPSHOT/maven-metadata.xml
file:/opt/android-sdk-macosx/extras/android/m2repository/com/example/library/1.0.0-SNAPSHOT/library-1.0.0-SNAPSHOT.pom
file:/opt/android-sdk-macosx/extras/android/m2repository/com/example/library/1.0.0-SNAPSHOT/library-1.0.0-SNAPSHOT.aar
file:/opt/android-sdk-macosx/extras/google/m2repository/com/example/library/1.0.0-SNAPSHOT/maven-metadata.xml
file:/opt/android-sdk-macosx/extras/google/m2repository/com/example/library/1.0.0-SNAPSHOT/library-1.0.0-SNAPSHOT.pom
file:/opt/android-sdk-macosx/extras/google/m2repository/com/example/library/1.0.0-SNAPSHOT/library-1.0.0-SNAPSHOT.aar
Required by:
project-name:test-app:unspecified

qa flavor 试图解决的快照还不存在,这应该没问题,因为我不是在尝试构建 qa flavor .如果存在该 SNAPSHOT 构建,则一切正常。

问题:

  1. 为什么所有构建风格都解决了它们的依赖关系?
  2. 如何在不遇到此问题的情况下只构建一种口味?
  3. 有没有更好的方法来做到这一点,更“Gradley”?

最佳答案

如果您手动排除任务,我假设构建工作正常?

gradle connectedAndroidTestDevDebug -x _qaDebugCompile

看起来任务 connectedAndroidTestDevDebug 依赖于任务 _qaDebugCompile,这会导致您的问题。我不知道你的任务是如何定义的,但你可以使用 Gradle 的内置任务 gradle dependenciesgradle dependencyInsight 来研究你的依赖关系。也许这会给你一个正确方向的提示:

gradle dependencyInsight --dependency com.example:library:1.0.0-SNAPSHOT

您可以在 the gradle User's guide 中阅读有关任务依赖性的更多信息.

关于android - Gradle:只解决所需变体的依赖关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28520636/

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