我在Android Studio中使用IntelliJ开始了一个项目。
该项目包含两个名为build.gradle
的文件。一个位于文件夹app
下,一个位于主文件夹下,即我的项目名称,例如MyProject
。
为什么需要两个?这两个build.gradle
之间有什么区别?
答案 0 :(得分:7)
Android Studio项目由模块,库,清单文件和Gradle构建文件组成。
每个项目都包含一个顶级 Gradle构建文件。 此文件名为 build.gradle ,可以在顶级目录中找到。
此文件通常包含所有模块的常用配置,常用功能..
示例:
//gradle-plugin for android
buildscript {
repositories {
mavenCentral() //or jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.12.2'
}
}
// common variables
ext {
compileSdkVersion = 19
buildToolsVersion = "20.0.0"
}
// a custom function
def isReleaseBuild() {
return version.contains("SNAPSHOT") == false
}
//common config for all projects
allprojects {
version = VERSION_NAME
repositories {
mavenCentral()
}
}
所有模块都有一个特定的build.gradle
文件。
此文件包含有关此模块的所有信息(因为项目可以包含更多模块),作为配置,构建tyoes,用于签署apk的信息,依赖项....
示例:
apply plugin: 'com.android.application'
android {
//These lines use the constants declared in top file
compileSdkVersion rootProject.ext.compileSdkVersion
buildToolsVersion rootProject.ext.buildToolsVersion
defaultConfig {
minSdkVersion 14
targetSdkVersion 19
versionName project.VERSION_NAME //it uses a property declared in gradle.properties
versionCode Integer.parseInt(project.VERSION_CODE)
}
// Info about signing
signingConfigs {
release
}
// Info about your build types
buildTypes {
if (isReleaseBuild()) {
release {
signingConfig signingConfigs.release
}
}
debug {
applicationIdSuffix ".debug"
versionNameSuffix "-debug"
}
}
// lint configuration
lintOptions {
abortOnError false
}
}
//Declare your dependencies
dependencies {
//Local library
compile project(':Mylibrary')
// Support Libraries
compile 'com.android.support:support-v4:20.0.0'
// Picasso
compile 'com.squareup.picasso:picasso:2.3.4'
}
您可以在此处找到更多信息: http://developer.android.com/sdk/installing/studio-build.html