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

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

风墨吖_4030

风墨吖_4030

发布时间:2026-04-07 14:25:04

|

279人浏览过

|

来源于php中文网

原创

本文详解 Android Studio 中 build.gradle 依赖配置的正确写法,重点解决因仓库声明冲突(如“prefer settings repositories”错误)和过时仓库(如 jcenter())导致的构建失败问题,并提供兼容 Gradle 7.4+ 的标准化配置方案。

本文详解 android studio 中 `build.gradle` 依赖配置的正确写法,重点解决因仓库声明冲突(如“prefer settings repositories”错误)和过时仓库(如 `jcenter()`)导致的构建失败问题,并提供兼容 gradle 7.4+ 的标准化配置方案。

在 Android Studio 新项目中,构建失败(如 'app process Debug Resource' failure)往往并非代码问题,而是由 Gradle 配置不当引发——尤其是 build.gradle(Project 级)中仓库(repositories)声明方式与 Gradle 版本策略不兼容所致。自 Gradle 7.0 起,官方强制推行 settings repository 优先机制,即推荐将仓库统一声明在 settings.gradle 中,而非分散在 build.gradle 内。若仍在 build.gradle 中调用 google() 或 mavenCentral(),就会触发您遇到的报错:

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

这表示 Gradle 检测到项目启用了 settingsRepositories 模式,但您仍在 build.gradle 中手动添加了仓库,造成策略冲突。

✅ 正确做法是:双轨适配——既保持 build.gradle 的向后兼容性(尤其对旧插件),又遵循新规范。以下是经过验证的、适用于 Android Gradle Plugin (AGP) 7.4.2 的 Project 级 build.gradle 推荐配置:

// Project-level build.gradle
buildscript {
    repositories {
        google()           // 必须保留,用于下载 AGP 插件
        mavenCentral()     // 替代已停用的 jcenter()(2021 年 2 月起只读,2023 年彻底关闭)
        // jcenter()       // ❌ 已废弃,建议移除或仅作临时兼容(加注释警告)
        maven { url 'https://jitpack.io' } // 第三方开源库(如 GitHub 项目)常用
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:7.4.2'
        classpath 'com.google.gms:google-services:4.3.15' // 如需 Firebase/GMS 服务
        // 其他 classpath(如 Navigation Safe Args、Hilt)也在此添加
    }
}

allprojects {
    repositories {
        google()
        mavenCentral()
        // jcenter() // ⚠️ 强烈建议删除;若必须保留,请明确注释“DEPRECATED”
        maven { url 'https://jitpack.io' }
    }
}

// 推荐添加 clean 任务,避免缓存污染
task clean(type: Delete) {
    delete rootProject.buildDir
}

? 关键注意事项:

  • jcenter() 已正式退役:JFrog 于 2023 年 2 月关闭 jcenter.bintray.com,继续使用将导致依赖解析失败。请立即替换为 mavenCentral() 或对应厂商仓库(如 maven { url 'https://oss.sonatype.org/content/repositories/snapshots/' })。
  • settings.gradle 优先级更高:若您使用的是 Gradle 7.2+,更规范的做法是将仓库声明迁移至 settings.gradle(如下),此时 build.gradle 中的 repositories 块应完全删除:
    // settings.gradle
    dependencyResolutionManagement {
        repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
        repositories {
            google()
            mavenCentral()
            maven { url 'https://jitpack.io' }
        }
    }
  • 版本对齐很重要:确保 com.android.tools.build:gradle:7.4.2 与 Gradle Wrapper 版本匹配(AGP 7.4.x 要求 Gradle 7.5+)。检查 gradle/wrapper/gradle-wrapper.properties 中 distributionUrl 是否为 gradle-7.5-bin.zip 或更高。

? 总结:构建失败常源于配置惯性而非技术门槛。摒弃 jcenter()、统一使用 mavenCentral() + google()、理解 settingsRepositories 机制,即可一劳永逸规避此类错误。新项目强烈建议直接采用 settings.gradle 声明仓库,让 build.gradle 专注逻辑而非基础设施。

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

热门AI工具

更多
音述AI
音述AI Hot

一款AI音频处理工具,主要用于音述AI是一个以“用声音述说故事”为核心的 AI 音乐创作与声音分享社区,适合需要提升相关任务效率的用户。

豆包大模型

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

WorkBuddy

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

UpDream
UpDream Hot

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

DeepSeek

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

咔片AIPPT

一款在线AI演示文稿制作工具,可根据主题和内容需求辅助生成PPT结构与页面,提高演示材料制作效率。

SkildArt
SkildArt Hot

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

AionClaw
AionClaw Hot

AionClaw是一款面向办公、创作和编程任务的AI桌面智能体。

超级简历WonderCV

一款AI办公效率工具,主要用于免费求职简历模版下载制作,应届生职场人必备简历制作神器,适合需要提升相关任务效率的用户。

相关专题

更多
Java Maven专题
Java Maven专题

本专题聚焦 Java 主流构建工具 Maven 的学习与应用,系统讲解项目结构、依赖管理、插件使用、生命周期与多模块项目配置。通过企业管理系统、Web 应用与微服务项目实战,帮助学员全面掌握 Maven 在 Java 项目构建与团队协作中的核心技能。

3840

2025.09.15

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

369

2026.05.09

resource是什么文件
resource是什么文件

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

320

2023.12.20

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

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

902

2023.08.14

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

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

2667

2023.08.22

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

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

5157

2023.09.19

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

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

665

2023.10.18

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

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

964

2024.03.01

Playwright 测试失败怎么办
Playwright 测试失败怎么办

Playwright测试失败专题汇集超时、定位器匹配、浏览器提前关闭、依赖与插件配置、文件上传、SSL及Docker启动等故障文章,并介绍通过截图、报告和Trace定位错误。

0

2026.10.21

热门下载

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

精品课程

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

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