Android Studio 项目依赖配置修复指南:解决构建失败与仓库冲突问题

夏静小哥_3925

夏静小哥_3925

2026-04-07

565人浏览

原创

Android Studio 项目依赖配置修复指南:解决构建失败与仓库冲突问题

本文详解如何正确配置 Android Studio 的 build.gradle 文件,修复因 Gradle 插件版本、仓库源冲突(如 google() 与 settings repositories 冲突)导致的构建失败问题,并提供兼容性强、符合现代 Android 构建规范的依赖管理方案。

本文详解如何正确配置 android studio 的 `build.gradle` 文件,修复因 gradle 插件版本、仓库源冲突(如 `google()` 与 settings repositories 冲突)导致的构建失败问题,并提供兼容性强、符合现代 android 构建规范的依赖管理方案。

在 Android Studio 新项目中遇到 app process Debug Resource failure 或构建报错提示 “build was configured to prefer settings repositories but repository google was added by build file”,本质是 Gradle 构建系统对仓库声明方式的严格校验升级所致——自 Android Gradle Plugin (AGP) 7.0+ 起,官方强制推荐将仓库配置统一移至 settings.gradle(或 settings.gradle.kts),而非在 build.gradle 中重复声明 google()、mavenCentral() 等。若 settings.gradle 已启用 pluginManagement 或 dependencyResolutionManagement 并声明了仓库,而 build.gradle 又显式调用 google(),就会触发该冲突错误。

✅ 正确做法是分离职责:

  • settings.gradle 负责全局仓库与插件源配置;
  • build.gradle(Project 级)仅保留必要的 buildscript 依赖声明(且需确保仓库不重复);
  • build.gradle(Module 级)专注模块依赖(implementation、api 等)。

但若你暂未迁移至 settings.gradle 管理仓库(例如使用较旧模板),可按以下安全方案快速修复:

✅ 推荐修复版 build.gradle(Project 级)

// 注意:此为 Project 级 build.gradle(位于项目根目录)
buildscript {
    repositories {
        google()
        mavenCentral() // ✅ 替代已弃用的 jcenter()(2021 年关停)
        // jcenter() // ⚠️ 不再推荐,保留仅作兼容,建议尽快移除
        maven { url 'https://jitpack.io' }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:7.4.2'
        classpath 'com.google.gms:google-services:4.3.15' // 如需 Firebase/GMS 服务
    }
}

allprojects {
    repositories {
        google()
        mavenCentral()
        maven { url 'https://jitpack.io' }
        // jcenter() // ⚠️ 强烈建议删除,避免警告与未来构建失败
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

? 关键注意事项:

  • jcenter() 已于 2021 年 2 月正式关停,继续使用可能导致依赖拉取失败。请优先切换至 mavenCentral() 或对应官方仓库(如 Jetpack 库默认由 google() 提供)。
  • 若项目已启用 settings.gradle 中的 dependencyResolutionManagement(新项目默认启用),必须删除 build.gradle 中所有 repositories 块,否则必然冲突。此时应将全部仓库统一写入 settings.gradle:
    // settings.gradle
    dependencyResolutionManagement {
        repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
        repositories {
            google()
            mavenCentral()
            maven { url 'https://jitpack.io' }
        }
    }
  • buildscript.classpath 中的 gradle 插件版本(如 7.4.2)必须与当前 Android Studio 版本兼容。建议查阅 AGP 版本对应表 选择匹配版本。
  • 清理缓存后重试:执行 ./gradlew clean + File → Invalidate Caches and Restart → Invalidate and Restart。

遵循以上配置,即可彻底解决 Debug Resource failure 及仓库冲突报错,确保构建流程稳定、可维护,并符合 Android 官方最佳实践。

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
resource是什么文件
resource是什么文件

Resource文件是一种特殊类型的文件,它通常用于存储应用程序或操作系统中的各种资源信息。它们在应用程序开发中起着关键作用,并在跨平台开发和国际化方面提供支持。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.12.20

320

3

android开发三大框架
android开发三大框架

android开发三大框架是XUtil框架、volley框架、ImageLoader框架。本专题为大家提供android开发三大框架相关的各种文章、以及下载和课程。

2023.08.14

882

4

android是什么系统
android是什么系统

Android是一种功能强大、灵活可定制、应用丰富、多任务处理能力强、兼容性好、网络连接能力强的操作系统。本专题为大家提供android相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.22

2547

5

android权限限制怎么解开
android权限限制怎么解开

android权限限制可以使用Root权限、第三方权限管理应用程序、ADB命令和Xposed框架解开。详细介绍:1、Root权限,通过获取Root权限,用户可以解锁所有权限,并对系统进行自定义和修改;2、第三方权限管理应用程序,用户可以轻松地控制和管理应用程序的权限;3、ADB命令,用户可以在设备上执行各种操作,包括解锁权限;4、Xposed框架,用户可以在不修改系统文件的情况下修改应用程序的行为和权限。

2023.09.19

4757

7

android重启应用的方法有哪些
android重启应用的方法有哪些

android重启应用有通过Intent、PendingIntent、系统服务、Runtime等方法。本专题为大家提供Android相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.18

605

5

Android语音播放功能实现方法
Android语音播放功能实现方法

实现方法有使用MediaPlayer实现、使用SoundPool实现两种。可以根据具体的需求选择适合的方法进行实现。想了解更多语音播放的相关内容,可以阅读本专题下面的文章。

2024.03.01

924

5

Java Maven/Gradle 构建与依赖管理合集
Java Maven/Gradle 构建与依赖管理合集

系统讲解 Java 项目构建工具的使用与进阶配置,涵盖 Maven 的 POM 文件结构、生命周期(clean/compile/package/install/deploy)与插件机制、依赖范围(compile/provided/test/runtime)与传递依赖管理、多模块聚合与继承、私有 Nexus 仓库发布,以及 Gradle 的 Groovy / Kotlin DSL 语法、Task 自定义与增量构建、依赖版本目录(Versi

2026.05.09

349

25

LLVM自定义Pass怎么写
LLVM自定义Pass怎么写

本专题聚焦LLVM自定义Pass开发,整理Pass类结构、run()方法、PreservedAnalyses、CMake构建、插件注册、-load-pass-plugin加载和测试用例编写流程。

2026.09.30

20

10

LLVM RISC-V参数配置教程
LLVM RISC-V参数配置教程

本专题介绍LLVM对RISC-V基础ISA和扩展的支持方式,涵盖RV32、RV64、标准扩展、实验性扩展、厂商扩展、-menable-experimental-extensions和版本差异。

2026.09.30

40

14

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.6万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.4万人学习