Android Studio之Gradle

來源:互聯網
上載者:User

標籤:android   c   style   class   blog   code   

  自從13年Google I/O大會上推出了Android Studio,我就逐步將開發工作從Eclipse轉向了Android Studio,也越來越嫌棄老態龍鐘的Eclipse。相比較而言,Android Studio無論從運行速度上還是對於Android開發的支撐上都完爆Eclipse;前者極具科技感的UI更是牢牢抓住了我的心!:)

話不多說,先上張碉堡了的:

 

Android Studio預設採用Gradle編譯項目;Gradle基於Groovy語言,Groovy是一種運行於JVM的動態語言,文法與Java類似,並且可以在Groovy項目中引用Java代碼;這使得Java程式員可以很容易的定製Gradle編譯邏輯。

我們先看看Gradle的檔案結構:

整個Project(AndroidStudioSample)的settings.gradle:

 1 include ‘:app‘, ‘:library‘ 

整個Project(AndroidStudioSample)的build.gradle:

// Top-level build file where you can add configuration options common to all sub-projects/modules.buildscript {    repositories {        mavenCentral()    }    dependencies {        classpath ‘com.android.tools.build:gradle:0.10.+‘        // NOTE: Do not place your application dependencies here; they belong        // in the individual module build.gradle files    }}allprojects {    repositories {        mavenCentral()    }}

主moudle(app)的build.gradle

 1 apply plugin: ‘android‘ 2  3 android { 4     compileSdkVersion 19 5     buildToolsVersion "19.1.0" 6  7     defaultConfig { 8         packageName "com.baron.android.app" 9         minSdkVersion 910         targetSdkVersion 1911         versionCode 112         versionName "1.0"13     }14     buildTypes {15         release {16             runProguard false17             proguardFiles getDefaultProguardFile(‘proguard-android.txt‘), ‘proguard-rules.pro‘18         }19     }20 }21 22 dependencies {23     compile fileTree(dir: ‘libs‘, include: [‘*.jar‘])24     compile ‘com.android.support:appcompat-v7:19.1.0‘25     compile ‘com.android.support:support-v4:19.1.0‘26     compile ‘com.android.support:appcompat-v7:19.1.0‘27     compile ‘com.android.support:support-v4:19.1.0‘28     compile ‘com.android.support:appcompat-v7:19.+‘29 }

submodule(library)的build.gradle:

apply plugin: ‘android-library‘android {    compileSdkVersion 19    buildToolsVersion "19.1.0"    defaultConfig {        packageName "com.baron.android.library"        minSdkVersion 8        targetSdkVersion 19        versionCode 1        versionName "1.0"    }    buildTypes {        release {            runProguard false            proguardFiles getDefaultProguardFile(‘proguard-android.txt‘), ‘proguard-rules.pro‘        }    }}dependencies {    compile fileTree(dir: ‘libs‘, include: [‘*.jar‘])    compile ‘com.android.support:appcompat-v7:19.+‘    compile ‘com.android.support:appcompat-v7:19.+‘}

以上是一個project中基本的settings.gradle和build.gradle檔案內。

  settings.gradle檔案中的include ‘:app‘, ‘:library‘指明了AndroidStudioSample這個Project包含了app和library兩個module;

  build.gradle主要分為四部分:apply plugin、buildscript、android和dependencies;

  1、apply plugin指明了使用的外掛程式,apply plugin:"android"表示這是一個android項目,apply plugin:"android-library"表明了這是一個Android Lib項目;

  2、buildscript{...}這一塊的內容定義了編譯環境,比如依賴的gradle版本等;

  3、android{...}這部分定義了項目參數,比如包名、版本號碼、SDK版本、buildTypes、signingConfigs、productFlavors等等;

  4、dependencies{...}定義了依賴。

先說說dependencies,我們常見的依賴主要有三種:

1 dependencies {2     compile fileTree(dir: ‘libs‘, include: [‘*.jar‘])//本地jar包依賴3     compile ‘com.android.support:appcompat-v7:19.1.0‘//從Maven倉庫擷取的依賴包,下同4     compile ‘com.android.support:support-v4:19.1.0‘5     compile ‘com.android.support:appcompat-v7:19.1.0‘6     compile ‘com.android.support:support-v4:19.1.0‘7     compile ‘com.android.support:appcompat-v7:19.+‘8     compile project(‘:library‘)//對其他Lib項目的依賴,比如我們這個項目中的module library9 }

 

好了,今天先寫到這,後面再繼續  :)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.