You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android Studio中Version Catalog报“from方法仅能调用一次”错误排查

问题

使用Android Studio Iguana 2023.2.1 Patch 2配置Version Catalog时,Gradle同步报错:

Invalid catalog definition:

  • Problem: In version catalog libs, you can only call the 'from' method a single time.

确认仅调用了一次from方法,当前settings.gradle内容:

pluginManagement {
    repositories {
        google {
            content {
                includeGroupByRegex("com\\.android.*")
                includeGroupByRegex("com\\.google.*")
                includeGroupByRegex("androidx.*")
            }
        }
        mavenCentral()
        gradlePluginPortal()
    }
}
dependencyResolutionManagement {
    versionCatalogs {
        libs {
            from(files("gradle/libs.versions.toml"))
        }
    }
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        google()
        mavenCentral()
    }
}

rootProject.name = "Emvoliasmoi"
include ':app', ':jsch-0.1.55', ':scan'

gradle/libs.versions.toml内容:

[versions]
kotlin="1.9.24"
realm="1.16.0"
androidApplication = "7.3.0"
appCompat = "1.1.0"
constraintLayout="2.1.4"
lifecycle = "2.3.1"
material = "1.11.0"
retrofit = "2.9.0"
gson="2.8.6"
work = "2.3.4"


[libraries]
appCompat = "androidx.appcompat:appcompat:$appCompat"
constraintLayout = "androidx.constraintlayout:constraintlayout:$constraintLayout"
lifecycleViewmodel = "androidx.lifecycle:lifecycle-viewmodel:$lifecycle"
lifecycleLivedata = "androidx.lifecycle:lifecycle-livedata:$lifecycle"
lifecycleCommonJava8 = "androidx.lifecycle:lifecycle-common-java8:$lifecycle"
material = "com.google.android.material:material:$material"
retrofit = "com.squareup.retrofit2:retrofit:$retrofit"
converter-gson = "com.squareup.retrofit2:converter-gson:$retrofit"
workRuntime = "androidx.work:work-runtime:$work"


[plugins]
androidApplication = { id = "com.android.application", version.ref = "androidApplication" }
kotlinAndroid = {id = "org.jetbrains.kotlin.android", version.ref="kotlin"}
realm = {id ="id.realm.kotlin", version.ref="realm"}
可能的原因与解决方法
  • 检查重复的Catalog定义:排查项目中是否存在其他配置文件(比如settings.gradle.kts、模块级的settings配置),有没有重复对libs catalog调用from方法。部分多模块项目可能会在子模块中意外重复定义。
  • 清理Gradle缓存:
    • 执行命令行指令:./gradlew cleanBuildCache(Windows环境用gradlew cleanBuildCache)
    • 手动删除项目根目录下的.gradle文件夹,再通过Android Studio的File → Invalidate Caches... → Invalidate and Restart清理IDE缓存
  • 校验Toml文件语法:虽然当前Toml代码看起来正常,但隐形字符、错误的引号格式(比如误输入中文引号)可能导致解析异常,间接触发该错误。可以逐行检查引号、换行和变量引用,确保语法完全符合Toml规范。
  • 调整Gradle/AGP版本兼容性:Android Studio Iguana对应的推荐Gradle版本为8.2.x,而你使用的AGP版本是7.3.0,版本不匹配可能引发异常。尝试升级AGP到8.2.0左右的版本,同时调整Kotlin版本与之匹配(比如Kotlin 1.9.20+)。

内容的提问来源于stack exchange,提问作者Christoforos

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 17:47:16