新版本 Android Studio settings.gradle 中切换国内源

原文出处

标题:新版本 Android Studio settings.gradle 中切换国内源

作者:zhongwei

原文链接:新版本 Android Studio settings.gradle 中切换国内源 - Android - 大象笔记

前言

从 Android Studio Dolphin 2021.3.1 之后,国内源的切换配置就从 build.gradle 文件改到了 settings.gradle 文件。

修改之后,执行一下 Sync 就可以了。

具体配置

pluginManagement {
    repositories {
        maven { url 'https://plugins.gradle.org/m2/' }
        maven { url 'https://maven.aliyun.com/nexus/content/repositories/google' }
        maven { url 'https://maven.aliyun.com/nexus/content/groups/public' }
        maven { url 'https://maven.aliyun.com/nexus/content/repositories/jcenter'}
        gradlePluginPortal()
        google()
        mavenCentral()
    }
}
dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        maven { url 'https://plugins.gradle.org/m2/' }
        maven { url 'https://maven.aliyun.com/nexus/content/repositories/google' }
        maven { url 'https://maven.aliyun.com/nexus/content/groups/public' }
        maven { url 'https://maven.aliyun.com/nexus/content/repositories/jcenter'}
        google()
        mavenCentral()
    }
}
rootProject.name = "Test Compose"
include ':app'

最快的方式

因为在 Android Studio 中新建项目之后,会自动开始下载相关的依赖包,很慢。

所以,合理的做法是,新建项目之后,由 android 视图切换到 Project 视图,找到并修改 settings.gradle 文件,修改之后再次打开项目就可以了执行同步了。

拉取策略

gradle pluginManagement repositories 配置了多个源,如果一个依赖在多个源中存在,会优先从哪个源拉取呢?

在Gradle中,当你配置了多个仓库时,并且这些仓库都包含相同的依赖项时,Gradle会按照你指定的顺序优先使用这些仓库。

具体来说,Gradle会逐个检查每个仓库,以找到包含所需依赖项的第一个仓库。一旦找到该依赖项,Gradle将从该仓库中下载它,并停止搜索其他仓库。

因此,如果你想要优先使用某个特定的仓库,可以将其列在仓库列表的开头。例如:

pluginManagement {
    repositories {
        maven { url 'https://my-custom-repo.com' }
        mavenCentral()
    }
}

在上面的例子中,Gradle会首先搜索https://my-custom-repo.com,如果找不到所需的依赖项,则会继续搜索Maven Central仓库。

请注意,Gradle默认情况下已经配置了几个常用仓库,如Maven Central和JCenter等。因此,除非你有特殊需求或使用私有仓库,否则通常不需要手动配置多个仓库。

gradle.kts 格式

对应的调整为:

maven { url = uri("https://plugins.gradle.org/m2/") }
maven { url = uri("https://maven.aliyun.com/nexus/content/repositories/google") }
maven { url = uri("https://maven.aliyun.com/nexus/content/groups/public") }
maven { url = uri("https://maven.aliyun.com/nexus/content/repositories/jcenter") }

### 如何在 Android Studio切换 Gradle 版本 #### 使用 `gradle-wrapper.properties` 文件配置 Gradle 版本 为了更改项目的 Gradle 版本,在项目结构中的路径 `项目名\gradle\wrapper\gradle-wrapper.properties` 下找到文件并编辑此文件来指定所需的 Gradle 分发 URL 和版本号[^2]。 ```properties distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-all.zip ``` 上述代码展示了如何通过修改分发URL指向特定版本的Gradle二进制包来进行版本变更。每次改变这个链接到不同版本后,重新同步项目即可应用新的Gradle版本。 #### 利用 Android Studio 的界面操作调整 Gradle 插件版本 除了直接编辑属性文件外,还可以借助于IDE内置工具完成相同目的的操作。打开 **File** 菜单下的 **Project Structure**, 寻找有关模块设置的部分,这里可以发现用于管理插件依赖关系的地方,其中就包含了对Gradle插件版本的选择选项[^1]。 对于某些情况下遇到编译错误提示如 `'Failed to calculate the value of task ':app:compileDebugJavaWithJavac' property 'options.generatedSourcesOutputDirectory'.` 这样的问题时,则可能是因为当前使用的Gradle版本不兼容所导致;此时尝试按照以上两种方式之一去更新或回退至更稳定的版本通常能解决问题[^4]。 #### JDK 设置注意事项 值得注意的是,在较新版本Android Studio 中,默认会自动检测并使用合适的 Java Development Kit (JDK),而在一些早期版本里则需手动前往 **File -> Project structure -> SDK Location -> Gradle settings** 来指明要采用哪一个具体的JDK环境作为构建基础[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值