本人小白,大學期間,打算開始自學Android,準備用博客寫下所學所得,希望有所收獲,望大家互相幫助
Gradle是一個非常先進的項目構建工具,它使用了一種基于Groovy的領域特定語言(DSL)來聲明項目設置,摒棄了傳統基于xml(如Ant和Maven)的各種繁瑣配置。
在最基礎的HelloWorld項目中有兩個bulid.gradle文件,一個是在最外層目錄下的,一個是在app目錄下的。這兩個文件對構建Android Studio 項目都起到了至關重要的作用。
下面是最外層目錄下的build.gradle文件:
buildscript {    repositories {        jcenter()//這是一個代碼托管倉庫,很多android開源項目都會選擇將代碼托管到jcenter上                 //聲明了這行配置之后,我們就可以在項目中輕松引用任何jcenter山的開源項目了。    }    dependencies {        classpath 'com.android.tools.build:gradle:2.2.3'//在這dependencies閉包中使用classpath聲明了一個Gradle插件。           }}allPRojects {    repositories {        jcenter()    }}task clean(type: Delete) {    delete rootProject.buildDir}通常情況下我們并不需要修改這個文件中的內容,除非你想添加一些全局的項目構建配置。
下面是app目錄下的build.gradle文件:
apply plugin: 'com.android.application'           //應用了一個插件,一般有兩種值可選:1.com.android.application 表示這是一個應用程序模塊2.com.android.library 表示這是一顆庫模塊兩個最大的區別是:一個可以之間運行,一個只能作為代碼庫依附于別的應用程序模塊來運行。android {//在這個android閉包中我們可以配置項目構建的各種屬性。    compileSdkVersion 25  //用于指定項目的編譯版本    buildToolsVersion "24.0.3"  //用于指定項目構建工具的版本    defaultConfig {//在這個defaultConfig閉包中可以對項目的更多細節進行配置。        applicationId "com.example.simple.myapplication"  //用于指定項目的包名,在后面修改時在這里修改        minSdkVersion 21   //用于指定項目最低兼容的android系統版本        targetSdkVersion 25  //指定的值表示你在該目標版本上已經做過了充分的測試,系統將會為你的應用程序啟用一些最新的功能和特性eg.指定成22,則表示在android 5.1系統上做過充分的測試,android 6.0的功能則不會啟用        versionCode 1  //用于指定項目的版本號        versionName "1.0" //用于指定項目的版本名        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"    }    buildTypes {//在這buildTypes閉包中用于指定生成安裝文件的相關配置,通常只會有兩個子閉包,一個debug,一個是release1.debug閉包用于指定生成測試版安裝文件的配置(這個閉包可以忽略不寫)2.release閉包用于指定生成正式版安裝文件的配置        release {            minifyEnabled false   //用于制定是否對項目的代碼進行混肴,true表示混肴            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'//用于指定混肴時使用的規則文件,這里指定了兩個文件,1.proguard—android.txt 這是在android SDK目錄下的,里面是所有項目通用的混肴規則2.proguard-rules.pro 是在當前目錄的根目錄下的,里面可以編寫當前項目特有的混肴規則。(通過android Studio 直接運行項目生產的都是測試版安裝文件)        }    }}dependencies {//這個dependencies閉包可以指定當前項目所有的依賴關系。通常android studio 項目共有3種依賴方式1.本地依賴 2.庫依賴 3.遠程依賴1.本地依賴可以對本地的jar包或目錄添加依賴關系2.庫依賴可以對項目中的庫模塊添加依賴關系3.遠程依賴則可以對jcenter庫上的開源項目添加依賴關系    compile fileTree(dir: 'libs', include: ['*.jar'])  //這是一個本地依賴聲明,它表示將libs目錄下所有.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:25.1.0'  //這是一個遠程依賴庫格式,其中com.android.support是域名部分;25.1.0是版本號,用于和同一個庫不同的版本做區分。加上這句聲明后,Gradle在構建項目時會首先檢查一下本地是否已經有這個庫的緩存,如果沒有則會自動聯網下載,然后再添加到項目的構建路徑當中。庫依賴聲明是:comple project (':庫名稱')后面加上要依賴的庫名稱    testCompile 'junit:junit:4.12'  //用于聲明測試用例庫}
新聞熱點
疑難解答