学习Android Studio里的Gradle

一直据说Gradle很强大,只是偶尔用Android Studio建立Demo的时候看到他一次,今天抽个时间完整记录一下。java

 

1.gradle位置android

 

Android Studio项目建立好以后,默认有3gradle文件,分别位于:app

 

/settings.gradlemaven

/build.gradle性能

/app/build.gradle学习

2.gradle内容gradle

 

settings.gradle 默认只有一行代码,即:ui

include ':app'spa

新建立的项目只有app一个子项目。若是在project里添加了子项目(Module),按理须要在settings.gradle里添加相应子项目名称,如:debug

include ':app', ':androidlibrary'

提示:当你添加一个Module后,最新版的Android Studio会自动在settings.gradle里配置好,Amazing

 

根目录的build.gradle 就比较丰富了,默认有三个“节点”,buildscriptallprojectstask clean

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.3.0'
    }
}
 
allprojects {
    repositories {
        jcenter()
    }
}
 
task clean(type: Delete) {
    delete rootProject.buildDir
}

buildscript下的第一个子“节点”是声明仓库源,默认是jcenter,以前版本则是mavenCentral,也能够两个center共存。jcenter能够理解成是一个新的中央远程仓库,兼容maven中心仓库,并且性能更优。第二个子“节点”是声明Android gradle plugin的版本,Android Studio 1.5版默认是gradle 1.3

 

  allprojects下是声明了全部project默认的仓库源。

 

  task clean声明了一个任务,任务名叫clean(也能够改成其它),任务类型是Delete(也能够是Copy),就是每当修改settings.gradle文件后点击同步,就会删除rootProject.buildDir下的文件(实际上我看到的效果是清除了External Libraries里的包,而后又添加了一次)

app/build.gradle 就是默认android子项目的gradle文件了,也是三个小节点:applyandroiddependencies

 

apply plugin: 'com.android.application'
 
android {
    compileSdkVersion 15
    buildToolsVersion '19.1.0'
    defaultConfig {
        applicationId "com.nait.picassodemo"
        minSdkVersion 4
        targetSdkVersion 15
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    productFlavors {
    }
}
 
dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.squareup.picasso:picasso:2.5.2'
    compile 'com.squareup.okhttp:okhttp:2.5.0'
    compile 'com.umeng.analytics:analytics:5.6.1'
    testCompile 'junit:junit:4.12'
}

appley节点:apply plugin: 'com.android.application'

以上语句中的apply是一个方法,给它传递了一个参数pluginplugin 的值是'com.android.application'。若是有多个参数,则以逗号隔开,例如:compile name: 'volley', ext: 'aar'

android节点:前面部分很好理解,从字面意思就能了解。buildTypes默认是release(也能够添加debug),minifyEnabled表示是否须要混淆,proguardFiles 表示混淆配置文件的名称。productFlavors表示多渠道包(之后深刻学习后再写)。

dependencies节点:com.开头的部分是Demo项目中添加的引用包,规则是namesapce:package name:version,其它两行是项目建立后默认添加的。

固然,开发完APP也是须要进行全方位的检测:www.ineice.com

相关文章
相关标签/搜索