Android--关于Gradle的一些记录

来源:互联网 发布:政治庇护 知乎 编辑:程序博客网 时间:2024/06/09 22:15

1.一个project中包含两个gradle

(1)project层面的build.gradle

// Top-level build file where you can add configuration options common to all sub-projects/modules.buildscript {    repositories {        jcenter()    }    dependencies {        classpath 'com.android.tools.build:gradle:1.5.0'        // NOTE: Do not place your application dependencies here; they belong        // in the individual module build.gradle files    }}allprojects {    repositories {        jcenter()    }}task clean(type: Delete) {    delete rootProject.buildDir}
project中的build.gradle负责全局配置。

其中buildscript中的代码块是用于配置gradle本身的运行脚本,自己app的部署不用写在这里,一般不对其做修改。allprojects代码块中是声明项目自身需要的仓库源(jcenter、maven都是国外的仓库源)。

task clean这里声明了一个task,用于setting.gradle改变时清空项目。


(2)app层的build.gradle

apply plugin: 'com.android.application'    android {      compileSdkVersion 23      buildToolsVersion "24.0.1"      defaultConfig {          applicationId "com.example.goodix.myapplication"          minSdkVersion 21          targetSdkVersion 23          versionCode 1          versionName "1.0"          testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"      }      buildTypes {          release {              minifyEnabled false              proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'          }      }  }    dependencies {      compile fileTree(dir: 'libs', include: ['*.jar'])      androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {          exclude group: 'com.android.support', module: 'support-annotations'      })      compile 'com.android.support:appcompat-v7:23.4.0'      testCompile 'junit:junit:4.12'  }   

compileSdkVersion 23这一行配置sdk的版本,buildToolViersion:23.0.1配置buildTool的版本。

defaultconfig代码块中,配置了app的一些基本属性,包括applicationId(很重要,和夸app调用有关)、sdkVersion、以及app的version号等。

buildTypes代码块中,可以配置release版或debug版等不同的版本信息,不同的版本又可以单独配置代码混淆(minifyEnabled、proguard),签名信息(signingConfig)等属性。

dependencies代码块中配置了app编译要使用的依赖库。


ps:gradle非常强大,以上只是基本的配置。另外如productFlavors代码块、signingConfigs代码块的用法请可以查阅相关信息学习。


2.settings.gradle

include ':app'

包括了工程中需要编译的module名





0 0
原创粉丝点击