讲师中心 微信公众号
AI工具推荐 视频效率加速

Android Studio 项目依赖配置与 Gradle 仓库冲突解决方案

雨宇酱_6278

雨宇酱_6278

发布时间:2026-04-07 11:37:36

|

832人浏览过

|

来源于php中文网

原创

本文详解如何正确配置 android studio 的 build.gradle 文件,解决因混合使用 settings.gradle 仓库声明与 build.gradle 中手动添加仓库(如 google())导致的构建失败问题,并提供兼容性强、符合现代 gradle 最佳实践的依赖管理方案。

本文详解如何正确配置 android studio 的 build.gradle 文件,解决因混合使用 settings.gradle 仓库声明与 build.gradle 中手动添加仓库(如 google())导致的构建失败问题,并提供兼容性强、符合现代 gradle 最佳实践的依赖管理方案。

在 Android Studio 新项目中,尤其是使用较新版本(如 Giraffe 或 Hedgehog)时,Gradle 构建系统默认启用 settings repository 首选模式(configuration-cache 和 pluginManagement 驱动的仓库声明)。此时若仍在 build.gradle(项目级)中显式调用 google()、jcenter() 等仓库方法,就会触发如下典型错误:

Build was configured to prefer settings repositories but repository 'google' was added by build file 'build.gradle':17

该错误本质是 Gradle 的仓库声明策略冲突:新版 Android Gradle Plugin(AGP ≥ 7.0)要求统一通过 settings.gradle(或 settings.gradle.kts)声明所有仓库,而不再推荐/允许在 buildscript { repositories { ... } } 或 allprojects { repositories { ... } } 中重复添加。

✅ 正确做法(推荐,符合官方最佳实践):

  1. 删除 build.gradle 中所有 repositories 块(包括 buildscript.repositories 和 allprojects.repositories);
  2. 统一在 settings.gradle 中声明仓库(Groovy):
// settings.gradle
pluginManagement {
    repositories {
        google()
        mavenCentral()
        gradlePluginPortal()
        // 如需 JitPack,可保留(但注意 jcenter 已停用)
        maven { url 'https://jitpack.io' }
    }
}
dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        google()
        mavenCentral()
        maven { url 'https://jitpack.io' }
        // ⚠️ 移除 jcenter() —— 官方已于 2021 年 3 月关闭服务,继续使用将导致解析失败
    }
}
rootProject.name = "MyApp"
include ':app'
  1. 确保 build.gradle(项目级)仅保留必要配置:
// build.gradle(项目根目录,仅保留 buildscript classpath)
buildscript {
    dependencies {
        classpath 'com.android.tools.build:gradle:7.4.2'
        classpath 'com.google.gms:google-services:4.3.15' // 如集成 Firebase
        // 其他插件 classpath(如 kotlin-gradle-plugin)也应在此声明
    }
}
// ✅ 删除整个 buildscript.repositories 和 allprojects.repositories 块!

? 关键注意事项:

  • jcenter() 已于 2021 年正式退役,强制移除,否则构建会失败或拉取不到依赖;
  • repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) 是安全兜底机制,可防止子模块误声明仓库;
  • 若项目含 Kotlin,还需在 pluginManagement 中添加 mavenCentral() 并确保 kotlin-gradle-plugin 版本与 Kotlin 编译器匹配;
  • 清理缓存后重试:执行 ./gradlew clean 或在 Android Studio 中点击 File → Invalidate Caches and Restart → Invalidate and Restart。

? 补充:如需全局清理任务,可在 build.gradle 中保留(非必需,但便于开发):

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

遵循以上结构,即可彻底规避“repository added by build file”类错误,构建稳定、可维护、符合 Android 官方演进方向的 Gradle 项目。

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

热门AI工具

更多
Seko
Seko Hot

一款AI视频创作工具,主要用于商汤科技推出的创编一体的AI短视频创作Agent,适合需要提升相关任务效率的用户。

切问学术

切问学术是一款AI论文写作工具,复旦大学NLP团队推出的AI学术智能体。

PixPix
PixPix Hot

PixPix是一款面向电商视觉生产的AI商品图生成工具。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

UpDream
UpDream Hot

一款AI视频创作工具,主要用于哔哩哔哩推出的自研AI视频创作工具,适合需要提升相关任务效率的用户。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

SkildArt
SkildArt Hot

SkildArt是一款AI文本写作工具,一站式 AI 视觉创作平台。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

小橡皮AI

一款AI工具,主要用于小橡皮一键去AI味,将机器味重的内容改得更有活人感,防止因为 AI 内容被平台打上 AI 标签,以及限流,适合需要提升相关任务效率的用户。

相关专题

更多
Kotlin协程编程与Spring Boot集成实践
Kotlin协程编程与Spring Boot集成实践

本专题围绕 Kotlin 协程机制展开,深入讲解挂起函数、协程作用域、结构化并发与异常处理机制,并结合 Spring Boot 展示协程在后端开发中的实际应用。内容涵盖异步接口设计、数据库调用优化、线程资源管理以及性能调优策略,帮助开发者构建更加简洁高效的 Kotlin 后端服务架构。

371

2026.02.12

Java Kotlin协程与异步编程实战
Java Kotlin协程与异步编程实战

本专题围绕 Kotlin 协程与异步编程展开,讲解挂起函数、协程作用域、异步任务调度及并发控制方法。通过实际项目案例,帮助开发者提升后端服务性能,实现高效异步任务处理与稳定性保障。

179

2026.04.13

Kotlin Android开发教程大全
Kotlin Android开发教程大全

系统讲解 Google 官方推荐的 Android 开发首选语言 Kotlin 的核心知识与工程实践,涵盖 Kotlin 简洁语法(空安全/数据类/扩展函数/解构声明/作用域函数)与 Java 互操作、集合操作与函数式编程、协程(Coroutines)异步编程(suspend/launch/async/Flow)、Jetpack Compose 声明式 UI 开发(状态管理/组合函数/导航/动画)、MVVM / MVI 架构设计与 Vi

268

2026.06.03

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

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

902

2023.08.14

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

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

2707

2023.08.22

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

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

5297

2023.09.19

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

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

685

2023.10.18

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

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

964

2024.03.01

Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

60

2026.10.22

热门下载

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

精品课程

更多
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn