android - 为什么一个 Android Studio 项目中有两个 build.gradle 文件?

标签 android android-studio gradle android-gradle-plugin build.gradle

将 Eclipse 项目导入 Android Studio 后,我看到两个 build.gradle 文件:

1 - <PROJECT_ROOT>\build.gradle
2 - <PROJECT_ROOT>\app\build.gradle

第一个版本较短,第二个版本包含compileSdkVersion等的定义。

拥有两个独立文件的目的是什么?是否有单独的构建任务?

最佳答案

<PROJECT_ROOT>\app\build.gradle特定于应用模块

<PROJECT_ROOT>\build.gradle是一个“顶级构建文件”,您可以在其中添加所有子项目/模块通用的配置选项。

如果您在项目中使用另一个模块,作为本地库,您将拥有另一个 build.gradle文件: <PROJECT_ROOT>\module\build.gradle

对于顶级文件中的 example,您可以指定以下常用属性:

buildscript {
    repositories {
        mavenCentral()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:1.3.0'
    }
}

ext {
    compileSdkVersion = 23
    buildToolsVersion = "23.0.1"
}

在您的app\build.gradle

apply plugin: 'com.android.application'

repositories {
    mavenCentral()
}

android {
    compileSdkVersion rootProject.ext.compileSdkVersion
    buildToolsVersion rootProject.ext.buildToolsVersion
}

关于android - 为什么一个 Android Studio 项目中有两个 build.gradle 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23241681/

相关文章:

android - 关于使用 Intent 传递数据的问题

android - 如何在具有翻转效果的android中为按钮设置动画?

android - Gradle Build 卡在生成调试源上

gradle - 将 GRADLE 更新到 4+ 后的 Android Studio 3.0 NoClassDefFoundError

Android Studio 和 Gradle - 关于 testCompile、testImplementation、testApi 的看似误导性警告

mongodb - 如何检查gradle中正在运行的进程或服务

android - 如何在android中自定义工具栏上的搜索图标?

android - Android 上的即时消息?

android-studio - 在 Android Studio 中,有没有办法在 jar、aar 和 maven 导入的库中搜索单词?

android - 在 Android 中将 resourceId 分配给 Layout