gpt4 book ai didi

android - 无法在项目 :features:myDynamicFeatureModule: 的以下变体之间进行选择

转载 作者:行者123 更新时间:2023-12-03 02:49:33 30 4
gpt4 key购买 nike

我正在我正在从事的项目中尝试使用 Android 的动态功能模块(也称为按需模块)。

在我的 PoC(概念验证)项目中,动态功能模块 (DFM) 可以正常工作,并且 gradle 可以毫无问题地构建项目。在完成我的 PoC 后,我决定将其应用到现有项目中。但是,gradle 未能通过以下方式构建项目:

Could not determine the dependencies of task ':my-app:checkSomeBuildFlavorDebugLibraries'.

> Could not resolve all task dependencies for configuration ':my-app:someBuildFlavorDebugMetadataValues'.
> Could not resolve project :features:myDynamicFeatureModule.
Required by:
project :my-app
> Cannot choose between the following variants of project :features:myDynamicFeatureModule:
- anotherBuildFlavorDebugAndroidTestCompile
- anotherBuildFlavorDebugAndroidTestRuntime
- ...
All of them match the consumer attributes:

- Variant 'anotherBuildFlavorDebugAndroidTestCompile' capability myproject.features:myDynamicFeatureModule:unspecified:
- Unmatched attributes:
- Required com.android.build.api.attributes.BuildTypeAttr 'debug' but no value provided.
- Required com.android.build.gradle.internal.dependency.AndroidTypeAttr 'Metadata' but no value provided.
- Required endpoint 'someBuildFlavor' but no value provided.
- Found org.jetbrains.kotlin.localToProject 'local to :features:myDynamicFeatureModule' but wasn't required.
- Found org.jetbrains.kotlin.platform.type 'androidJvm' but wasn't required.
- Variant ...

请注意,这个错误很长,会遍历所有可能的风格。

我尝试过但没有奏效的方法:
  • 我在动态模块
  • 中添加了与基本模块 (my-app) 完全相同的风格
  • 在我的 DFM 的 build.gradle 中,我尝试明确设置配置,如:implementation project(path: ':my-app', configuration: 'default')还有配置:'someFlavor'
  • 在基本模块 (my-app) 的 build.gradle 中,我使用了 missingDimensionStrategy 'mydimension', 'myflavor'
  • 从 Android Studio 和终端
  • 构建
  • 从 build.gradle 文件中删除依赖项和其他代码

  • 我已经尝试过并且有效:
  • 从 DFM 中删除基本应用程序 (my-app) 的依赖项(即删除 implementation project(':my-app',) ) - 但我需要它。澄清一下,DFM 应用了以下 gradle 插件:com.android.dynamic-featurekotlin-android
  • 从基本应用程序和 DFM 中删除所有 flavor - 但我需要在基本应用程序中使用它们。
  • 我制作的 PoC 工作正常,即使使用与我在实际项目中使用的相同风格,gradle 也能编译项目

  • 笔记:
  • 我使用 DexGuard(但我禁用它以确保它不会干扰)
  • 我没有任何自定义构建类型,只有“调试”和“发布”
  • Gradle 版本是 3.5.2
  • Gradle 包装器是 5.5.1
  • PoC 和我的实际项目都使用相同版本的 gradle、gradle 包装器、构建类型和风格

  • 不幸的是,我无法在单独的项目中重现该问题。我尝试从我的项目中删除尽可能多的东西,但我无法解决这个问题。

    您是否知道可能导致此问题的原因以及我该如何解决?谢谢!

    最佳答案

    我遇到了这个问题,这是由于没有删除 implementation project(':features:myDynamicFeatureModule')我的应用程序模块的 gradle 文件中的行。

    关于android - 无法在项目 :features:myDynamicFeatureModule: 的以下变体之间进行选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59134851/

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