【问题标题】:Gradle 7, Are Android Build-Configuration documentations outdated?Gradle 7,Android Build-Configuration 文档是否已过时?
【发布时间】:2021-10-17 11:52:54
【问题描述】:

查看Gradle's build configuration 的文档,我可以看到我在Android Studio 2020.3.1 上使用Gradle 7.0.3 构建的几个冲突。

例如,在文档中说应该将所有模块使用的存储库设置的allProjects 块添加到根build.gradle,而实际上它只允许我在@ 下的settings.gradle 中配置模块存储库987654327@块。

另一个例子是将插件应用于应用程序模块,在文档中它说第一行应该是:

apply plugin: 'com.android.application'

虽然我的构建中使用的是:

plugins {
    id 'com.android.application'
}

我还注意到,JitPack 也使用该文档页面中建议的相同配置来在项目中使用 JitPack 发布的库:

将它添加到你的根 build.gradle 的存储库末尾:

allprojects {
    repositories {
        ...
        maven { url 'https://jitpack.io' }
    }
}

步骤 2. 添加依赖项

dependencies {
        implementation 'com.github.arcm111.ScaleNumberPicker:final:1.0.1'
}

所以我的问题是,这些文档页面是否已过时,Gradle 7 尚未完全支持,还是我查看的文档有误?

【问题讨论】:

    标签: android gradle documentation android-gradle-7.0


    【解决方案1】:

    在文档中说所有模块使用的存储库设置的 allProjects 块应添加到根 build.gradle 中,而实际上它只允许我在 setup.gradle 中的dependencyResolutionManagement 块下配置模块存储库。

    您可能希望提出一个单独的 Stack Overflow 问题,其中包含可验证的最少示例和错误的详细信息。 This GitLab repo, in tag v2.2 包含一个使用 Gradle 7.0.2 的多模块 Android Studio 项目,该项目使用 allProjects 配置存储库。

    另一个例子是将插件应用于应用程序模块,在文档中它说第一行应该是......而我的构建中使用的是

    任何一种语法都有效。 plugins 方法已经在 Android Studio 项目中使用了一年左右。我上面链接的项目使用较旧的apply plugin 语法。相比之下,This sample project 使用 plugins

    这些文档页面是否已过时,Gradle 7 是否尚未完全支持,或者我查看的文档有误?

    以上都不是,AFAICT。 allProjectsapply plugin 仍然有效,至少在 Gradle 7.0.2 中是这样。

    【讨论】:

    • 当我将allProjects 添加到顶级build.gradle 时会出现以下错误Build was configured to prefer settings repositories over project repositories but repository 'maven' was added by build file 'build.gradle'
    • @razz: IIRC,你的settings.gradle 中有一些东西告诉Gradle 不要想要allprojects
    • 这是我的settings.gradle 文件内容:dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() } } rootProject.name = "SNPTest" include ':app' 。这是Android Studio生成的,我没有更改任何设置。
    • @razz:删​​除 dependencyResolutionManagement 闭包。这特别说明“不支持基于项目的存储库”,这是 allProjects 的一部分。
    • 我想知道的是,如果这些是 Gradle 现在的默认配置,那么不应该更新 android 文档以与最新版本的 Gradle 相关吗?
    猜你喜欢
    • 2016-12-08
    • 2023-04-03
    • 2016-09-12
    • 2016-01-18
    • 2023-04-03
    • 2013-07-21
    • 1970-01-01
    • 2010-11-01
    • 2011-05-16
    相关资源
    最近更新 更多