将Eclipse项目导入Android Studio后,我看到两个build.gradle
文件:
1 -\build.gradle 2 - \app\build.gradle
第一个版本更短,第二个版本包含定义compileSdkVersion
等.
有两个单独的文件背后的目的是什么?是否有单独的构建任务?
特定于app模块.
是一个"顶级构建文件",您可以在其中添加所有子项目/模块共有的配置选项.
如果您在项目中使用另一个模块,作为本地库,您将拥有另一个build.gradle
文件:
对于例如在顶层文件,您可以指定这些共同的属性:
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 Studio项目包含一个顶级项目Gradle构建文件,允许您添加项目中所有应用程序模块共有的配置选项.每个应用程序模块还有自己的
build.gradle
文件,用于特定于该模块的构建设置.
或者项目构建文件用于整个项目,因此它将用于全局项目配置.典型的项目构建文件包含以下内容:
buildscript定义:
存储库和
依赖
Gradle插件版本
默认情况下,项目级Gradle文件使用buildscript来定义Gradle 存储库和依赖项.这允许不同的项目使用不同的Gradle版本.支持的存储库包括JCenter,Maven Central或Ivy.此示例声明构建脚本使用JCenter存储库和包含Gradle版本1.0.1的Android插件的类路径依赖项工件.
或者模块构建文件用于特定模块,因此它将用于特定的模块级配置.一个模块构建文件包含以下内容:
android设置
compileSdkVersion
buildToolsVersion
defaultConfig和productFlavors
显示属性,例如applicationId,minSdkVersion,targetSdkVersion和测试信息
buildTypes
构建属性,例如debuggable,ProGuard启用,调试签名,版本名称后缀和测试信息
依赖
你可以在这里阅读官方文档:
项目和模块构建设置