Gradle配置

在Android Studio上新建項目的組成結構

此圖爲在studio上新建項目後項目的組成結構。


本項目的組成部分包含app文件夾下moudle的build.gradle,project下的build.gradle和settings.gradle 和.gradle文件。

1. MyActivity下app的build.gradle

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.0"

    defaultConfig {
        applicationId "com.example.zaoren.myactivity"
        minSdkVersion 11
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:23.0.0'
}
  1. apply:plugin–聲明是Android程序
  2. compileVersion–編譯sdk的版本
  3. buildToolsVersion–build Tool版本,需要本地安裝改版本
  4. default Configuration –報名,最低版本,目標版本
  5. buildTypes–minifyEnabled–是否允許混淆;proguard file–混淆文件的位置,proguardFiles這部分有兩段,前一部分代表系統默認的android程序的混淆文件,該文件已經包含了基本的混淆聲明,免去了我們很多事,這個文件的目錄在件的目錄在 sdk目錄>/tools/proguard/proguard-android.txt , 後一部分是我們項目裏的自定義的混淆文件,目錄就在 app/proguard-rules.txt , 如果你用Studio 1.0創建的新項目默認生成的文件名是 proguard-rules.pro
  6. dependencies–編譯lib目錄下的所有jar包
  7. 上圖中未出現的,,Android 5.0 需要安裝jdk 1.7
// java版本
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
    }

每一個Module都需要有一個gradle配置文件,語法都是一樣,唯一不同的是開頭聲明的是 apply plugin: ‘com.android.library’–也就是庫文件

apply plugin: 'com.android.library'
#Wed Apr 10 15:27:10 PDT 2013
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-2.2.1-all.zip

以上代碼爲wrapper文件夾下的gradle-wrapper.properties文件的內容:裏面聲明瞭gradle的目錄與下載路徑以及當前項目使用的gradle版本,一般不改變默認路徑,此文件指明的gradle版本不對也是很多導入包不成功的原因之一。

2. MyActivity下的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.0.1'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

內容主要包括兩方面:

  1. 聲明源倉庫,可以看到jcenter(),可以理解成一個新的中央遠程倉庫,兼容maven中心倉庫,性能更優。
  2. 聲明Android gradle plugin的版本,Android studio 1.0正式版必須要求支持gradle plugin 1.0的版本。

3. MyActivity下的settings.gradles

include ':app'

此文件爲全局的配置文件,裏面主要聲明一些需要加入gradle的module

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章