Android Gradle 新旧版本写法对比

随着 Android Gradle 插件(AGP)的不断更新,Gradle 构建脚本的写法也发生了变化。以下是新旧版本写法的详细对比:

1. 插件应用方式对比

旧版本写法 (AGP 3.x 及之前)

项目级 build.gradle:

buildscript {
    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.6.4'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.72"
    }
}

模块级 build.gradle:

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'  // Kotlin扩展插件

新版本写法 (AGP 4.0 及之后)

项目级 build.gradle:

// 可能完全省略buildscript,直接在settings.gradle中配置插件仓库
pluginManagement {
    repositories {
        google()
        mavenCentral()
        gradlePluginPortal()
    }
}

模块级 build.gradle:

plugins {
    id 'com.android.application' version '7.2.1'  // 版本号可选,推荐在settings.gradle中统一管理
    id 'org.jetbrains.kotlin.android' version '1.7.0'
}

主要变化:

  1. 使用 plugins 块替代 apply plugin

  2. 插件版本可以在 plugins 块中直接指定

  3. 插件仓库配置转移到 settings.gradle 的 pluginManagement 块

  4. Kotlin Android Extensions 已废弃,推荐使用 View Binding

2. 依赖配置对比

旧版本依赖配置

dependencies {
    implementation 'androidx.appcompat:appcompat:1.0.2'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'androidx.test:runner:1.1.1'
    
    // 动态版本号
    implementation 'com.squareup.retr
<think>好的,我现在需要帮用户解决如何配置Gradle使用国内镜像源的问题。用户可能是在国内开发,下载依赖库的时候遇到速度慢的问题,所以想通过更换镜像源来加速。首先,我得回忆一下自己之前处理类似问题的经验,或者查资料确认正确的步骤。 根据用户提供的引用内容,尤其是引用[1]、[2]、[3]、[4],里面提到了几种方法:修改项目的build.gradle、全局的init.gradle,或者settings.gradle文件。我需要把这些方法整理清楚,确保步骤正确,不会让用户混淆。 首先,用户可能需要不同的配置方式,比如针对单个项目还是全局配置。我得分别说明这两种情况。比如,修改项目内的build.gradle是比较直接的方法,适合特定项目使用。而修改init.gradle则是全局的,对所有项目生效,这对经常需要创建新项目的用户更方便。 另外,用户提到的引用[4]里有一个关于阿里云镜像URL的问题,新旧两种URL的区别。我需要指出现在推荐使用哪个,避免用户用了过时的链接导致问题。根据引用[4]的内容,应该使用新的https://maven.aliyun.com/repository/public,而不是旧的http链接,这可能涉及到安全性和仓库结构的更新。 接下来,我需要分步骤说明每种配置方法。例如,修改项目build.gradle时,应该在repositories块里替换mavenCentral()为阿里云的镜像地址。还要注意,可能需要同时修改buildscript和allprojects部分的仓库,特别是如果项目有多个模块的话。 对于全局配置,修改init.gradle文件的位置可能在用户目录下的.gradle文件夹里。需要指导用户如何创建或编辑这个文件,并添加相应的仓库配置。这里要确保用户知道路径的正确写法,尤其是在不同操作系统下的路径差异,比如Windows和macOS/Linux的区别。 另外,可能还需要提醒用户,配置完成后需要清理缓存,比如运行gradle --refresh-dependencies,或者删除.gradle目录下的缓存文件,以确保新的镜像源生效。 最后,用户可能还会遇到其他问题,比如镜像源是否可靠,或者如何测试配置是否成功。这时候可以建议用户运行构建命令,观察下载速度是否提升,或者检查下载的依赖是否来自配置的镜像源。 总结一下,我需要把配置方法分成项目级和全局级,详细说明每个步骤,并解答可能遇到的常见问题,比如URL的选择和缓存清理。同时,确保引用正确的参考资料,比如引用[1]、[2]、[3]、[4]中的内容,来增加回答的可信度。</think>### 如何配置Gradle使用国内镜像源 #### 方法1:修改项目中的`build.gradle`文件(针对单个项目) 1. **打开项目根目录下的`build.gradle`文件**,找到`repositories`配置部分。 2. **替换默认仓库为国内镜像源**,例如阿里云镜像: ```groovy buildscript { repositories { maven { url 'https://maven.aliyun.com/repository/public' } maven { url 'https://maven.aliyun.com/repository/google' } // 如果需要Google仓库 mavenCentral() } dependencies { classpath "com.android.tools.build:gradle:7.0.0" // 根据实际版本调整 } } allprojects { repositories { maven { url 'https://maven.aliyun.com/repository/public' } maven { url 'https://maven.aliyun.com/repository/google' } mavenCentral() } } ``` 注意:需同时修改`buildscript`和`allprojects`部分的仓库地址[^2][^3]。 --- #### 方法2:全局配置(通过`init.gradle`文件) 1. **创建或修改全局初始化脚本**: 在用户目录下的`.gradle`文件夹中创建`init.gradle`文件(路径示例): - Windows: `C:\Users\<用户名>\.gradle\init.gradle` - macOS/Linux: `~/.gradle/init.gradle` 2. **添加镜像配置**: ```groovy allprojects { repositories { all { ArtifactRepository repo -> if (repo instanceof MavenArtifactRepository) { def url = repo.url.toString() if (url.startsWith('https://repo1.maven.org/maven2')) { project.logger.lifecycle "Repository ${repo.url} replaced by Aliyun." remove repo } } } maven { url 'https://maven.aliyun.com/repository/public' } maven { url 'https://maven.aliyun.com/repository/google' } mavenCentral() } } ``` 此配置会自动将默认仓库替换为阿里云镜像[^4]。 --- #### 注意事项 1. **镜像URL选择**: 阿里云镜像推荐使用新版URL `https://maven.aliyun.com/repository/public`,而非旧的`http://maven.aliyun.com/nexus/content/groups/public`,因为前者支持HTTPS且仓库分类更清晰。 2. **清理缓存**: 修改配置后,执行`gradle --refresh-dependencies`或删除`~/.gradle/caches`目录以强制刷新依赖。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值