【问题标题】:Gradle build failed after moving dependency folder移动依赖文件夹后 Gradle 构建失败
【发布时间】:2022-01-18 21:54:51
【问题描述】:

我目前遇到一个问题,即移动依赖项文件夹会导致构建失败并给我留下一个看起来不合适的错误。

我有一个导入模块 common 的项目。文件夹结构如下:

|_android_app
|_common_common

settings.gradle如下:

include ':app', ':common'
project(':common').projectDir = new File(settingsDir, '../common/common')

Gradle 同步没有问题,一切正常。但是当我尝试将此common 模块移动到其他文件夹时出现问题,保留文件夹结构:

|_android_app
|_common_android_common

还有设置:

include ':app', ':common'
project(':common').projectDir = new File(settingsDir, '../common/android/common')

然后我得到这个似乎不合适的错误:

No variants found for ':common'. Check build files to ensure at least one variant exists. at:
com.android.tools.idea.gradle.project.sync.AndroidModule.deliverModels(AndroidModule.kt:135)
  com.android.tools.idea.gradle.project.sync.AndroidExtraModelProviderWorker.populateBuildModels(AndroidExtraModelProviderWorker.kt:80)
  com.android.tools.idea.gradle.project.sync.AndroidExtraModelProvider.populateBuildModels(AndroidExtraModelProvider.kt:52)
  org.jetbrains.plugins.gradle.model.ProjectImportAction.addBuildModels(ProjectImportAction.java:246)
  org.jetbrains.plugins.gradle.model.ProjectImportAction.execute(ProjectImportAction.java:116)

为什么更改模块的位置会导致 gradle 同步失败?

【问题讨论】:

    标签: android gradle


    【解决方案1】:

    该问题与错误中描述的内容无关。我实际上忘记指定我在公共项目中引用的库的版本:

    implementation "com.segment.analytics.android:analytics:$rootProject.segmentVersion"
    

    所以,将这个添加到根项目中的buildscript.ext,解决了问题:

    buildscript {
      ext {
        segmentVersion = '4.+' 
      }
    }
    

    【讨论】:

      猜你喜欢
      • 2018-03-10
      • 1970-01-01
      • 2016-07-11
      • 2018-11-28
      • 1970-01-01
      • 2020-01-30
      • 1970-01-01
      • 2017-07-20
      • 1970-01-01
      相关资源
      最近更新 更多