📜  Android | build.gradle(1)

📅  最后修改于: 2023-12-03 15:13:21.174000             🧑  作者: Mango

Android | build.gradle

build.gradle 是 Android 开发中用于编译、构建应用程序的脚本文件。该文件位于应用程序根目录下,使用 Groovy 语言编写,主要包含应用程序的编译、依赖配置等信息。

文件结构
.
├── app/
│   ├── build.gradle
│   ├── src/
│   └── ...
├── build.gradle
├── gradle.properties
├── gradlew
├── gradlew.bat
└── settings.gradle
  • app 目录下的 build.gradle 是应用程序的构建文件,包含构建应用程序所需的配置信息。

  • gradle.properties 是 Gradle 的配置文件,可以用于配置 Gradle 的插件等信息。

  • build.gradle 是项目的构建脚本,包含项目的配置信息。

  • gradlewgradlew.bat 是 Gradle Wrapper 脚本,用于在没有安装 Gradle 的系统上执行 Gradle 命令。

  • settings.gradle 是 Gradle 的设置文件,可以用于配置项目的模块等信息。

构建文件内容

应用程序的构建文件包含应用程序的编译配置、依赖配置等信息。以下是一个例子:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 30
    buildToolsVersion "30.0.3"

    defaultConfig {
        applicationId "com.example.myapplication"
        minSdkVersion 21
        targetSdkVersion 30
        versionCode 1
        versionName "1.0"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    implementation fileTree(dir: "libs", include: ["*.jar"])

    implementation 'androidx.appcompat:appcompat:1.2.0'
    implementation 'com.google.android.material:material:1.3.0'

    // Other dependencies
}
  • apply plugin: 'com.android.application' 应用程序构建插件的声明。

  • android 块包含了应用程序的编译配置,包括 SDK 版本、构建工具版本、默认配置、构建类型等。

  • dependencies 块包含了应用程序的依赖配置,可以使用 Maven、本地文件等方式配置。

构建类型

每个构建类型为应用程序定义了一组编译选项。Android Studio 已经为你创建了两个构建类型:debug 和 release。您可以通过在 buildTypes 块中定义构建类型和其属性,实现自定义构建类型:

buildTypes {
    debug {
        // Debug 构建类型
    }
    release {
        // Release 构建类型
    }
}
依赖

您可以在 dependencies 块中声明应用程序的依赖配置。依赖可以是本地库、Maven 库或本地文件:

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])

    implementation 'androidx.appcompat:appcompat:1.2.0'
    implementation 'com.google.android.material:material:1.3.0'
}

在依赖声明中,implementation 表明这个依赖是应用程序的一部分,而不是其它库的依赖,fileTree 表明这个依赖是一个本地库,include 是过滤器,用于确定应该引用哪些文件。

Android 插件

com.android.application 插件是 Android 应用程序构建插件,提供了特定于 Android 应用程序的任务和生命周期。其他常见插件还有:

  • com.android.library:用于构建 Android 库
  • com.android.test:用于构建 Android 测试
  • jacoco:用于代码测试覆盖率
结尾

以上是 build.gradle 的基本信息和配置方法,您可以根据您的需要进行自定义配置。详细的语法和配置信息,请参阅 Gradle 官方文档