前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Android Gradle 插件】工程根目录下 build.gradle 配置文件 ( 远程仓库配置 | 依赖配置 | 所有子模块配置 | task clean 任务 )

【Android Gradle 插件】工程根目录下 build.gradle 配置文件 ( 远程仓库配置 | 依赖配置 | 所有子模块配置 | task clean 任务 )

作者头像
韩曙亮
发布2023-03-30 11:17:14
1.2K0
发布2023-03-30 11:17:14
举报
文章被收录于专栏:韩曙亮的移动开发专栏

文章目录

Android Plugin DSL Reference 参考文档 : https://google.github.io/android-gradle-dsl/2.3/

一、工程根目录下 build.gradle 配置文件


1、基本作用

根目录下的 build.gradle 是 Android 工程的默认的顶层 Gradle 构建脚本 , 注意是根目录下 , 与 Module 目录下的 build.gradle 进行区分 ;

该脚本中的配置应用于所有子工程 , 配置如下类型的信息 :

  • 代码仓库配置 :
代码语言:javascript
复制
    repositories {
        google()
        mavenCentral()
        jcenter() // Warning: this repository is going to shut down soon
    }
  • Android Gradle 插件版本依赖 : 配置的依赖会从上面的 google() , mavenCentral() , jcenter() 仓库中查找 ; 一般是从 jcenter() 中查找 ;
代码语言:javascript
复制
    dependencies {
        classpath "com.android.tools.build:gradle:4.2.1"

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
  • 其它指令 :
代码语言:javascript
复制
task clean(type: Delete) {
    delete rootProject.buildDir
}

2、远程仓库配置

可配置的仓库都定义在 RepositoryHandler 接口中 , 可以指定 jcenter , ivy , flatDir , google , mavenCentral , mavenLocal , maven 等类型的仓库 ;

代码语言:javascript
复制
public interface RepositoryHandler extends ArtifactRepositoryContainer {
    FlatDirectoryArtifactRepository flatDir(Map<String, ?> var1);

    FlatDirectoryArtifactRepository flatDir(Closure var1);

    FlatDirectoryArtifactRepository flatDir(Action<? super FlatDirectoryArtifactRepository> var1);

    ArtifactRepository gradlePluginPortal();

    ArtifactRepository gradlePluginPortal(Action<? super ArtifactRepository> var1);

    MavenArtifactRepository jcenter(Action<? super MavenArtifactRepository> var1);

    MavenArtifactRepository jcenter();

    MavenArtifactRepository mavenCentral(Map<String, ?> var1);

    MavenArtifactRepository mavenCentral();

    MavenArtifactRepository mavenCentral(Action<? super MavenArtifactRepository> var1);

    MavenArtifactRepository mavenLocal();

    MavenArtifactRepository mavenLocal(Action<? super MavenArtifactRepository> var1);

    MavenArtifactRepository google();

    MavenArtifactRepository google(Action<? super MavenArtifactRepository> var1);

    MavenArtifactRepository maven(Closure var1);

    MavenArtifactRepository maven(Action<? super MavenArtifactRepository> var1);

    IvyArtifactRepository ivy(Closure var1);

    IvyArtifactRepository ivy(Action<? super IvyArtifactRepository> var1);

    @Incubating
    void exclusiveContent(Action<? super ExclusiveContentRepository> var1);
}

3、依赖配置

在依赖配置中 , 最常见的就是配置 Android Gradle 插件版本 ;

依赖配置如下 :

代码语言:javascript
复制
buildscript {
    dependencies {
        classpath "com.android.tools.build:gradle:4.2.1"
    }
}

在 dependencies 下的 classpath 是依赖分组 , 常用的 implementation 依赖方式表示编译并打包 ;

3、所有子模块配置

所有子模块配置 , 最常见的是为所有子模块配置远程仓库 ;

代码语言:javascript
复制
allprojects {
    repositories {
        google()
        mavenCentral()
        jcenter() // Warning: this repository is going to shut down soon
    }
}

4、task clean 任务

最后定义了一个 task 任务 , type 表示任务类型 , 该任务是在 Delete 任务的基础上 , 执行额外附加的任务 ;

代码语言:javascript
复制
task clean(type: Delete) {
    delete rootProject.buildDir
}

该任务的作用是 , 删除根目录下的 build 目录 ;

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-02-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 文章目录
  • 一、工程根目录下 build.gradle 配置文件
    • 1、基本作用
      • 2、远程仓库配置
        • 3、依赖配置
          • 3、所有子模块配置
            • 4、task clean 任务
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档