1. 程式人生 > >gradle 基本配置介紹

gradle 基本配置介紹

gradle

Gradle是一個基於Apache Ant和Apache Maven概念的專案自動化建構工具。它使用一種基於Groovy的特定領域語言(DSL)來宣告專案設定,拋棄了基於XML的各種繁瑣配置。
面向Java應用為主。當前其支援的語言限於Java、Groovy和Scala,計劃未來將支援更多的語言。

      Android Studio下載與安裝中新建專案成功後會下載Gradle

  • Mac上會預設下載到 /Users/<使用者名稱>/.gradle/wrapper/dists 目錄

  • Win平臺會預設下載到 C:\Documents and Settings\<使用者名稱>.gradle\wrapper\dists 目錄

檔案介紹

  • 模組/build.gradle
//宣告是Android 程式
apply plugin: 'com.android.application'

//配置了用於 android 構建的所有引數。這是Android DSL的入口。
//預設情況下,只需要配置編譯目標,以及build-tools的版本。
//它通過compileSdkVersion和buildtoolsVersion屬性來完成。
//提示:你應該只配置使用這個android外掛。如果同時配置使用了java外掛也會導致構建錯誤。
android {
    //編譯SDK的版本
    compileSdkVersion 19
//build tools 的版本 // 構建工具的版本,其中包括了打包工具aapt、dx等等。 // 這個工具的目錄位於..sdk_path/build-tools/XX.XX.XX buildToolsVersion "19.1.0" //在android元素的內部的defaultConfig元素是定義所有這些配置的地方。 defaultConfig { // 應用的包名 applicationId "com.example.lidecheng.myapplication" minSdkVersion 14 targetSdkVersion 19
versionCode 1 versionName "1.0" } // java版本 compileOptions { sourceCompatibility JavaVersion.VERSION_1_7 targetCompatibility JavaVersion.VERSION_1_7 } buildTypes { release { // 是否進行混淆 minifyEnabled false // 混淆檔案的位置 proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } // 移除lint檢查的error lintOptions { abortOnError false } } dependencies { //編譯libs目錄下的所有jar包 compile fileTree(dir: 'libs', include: ['*.jar']) testCompile 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:19.+' } // 這個檔案是app資料夾下這個Module的gradle配置檔案,也可以算是整個專案最主要的gradle配置檔案
  • 專案/build.gradle
// Top-level build file where you can add configuration options common to all sub-projects/modules.
//整個專案的gradle基礎配置檔案
//buildscript { ... }配置了驅動構建的程式碼。
// 聲明瞭使用jcenter 中央庫,並且對一個Maven 檔案有一個類路徑依賴。
// 這個檔案是包含 Gradle Android 外掛的 1.5.0版本的庫
buildscript {
    repositories {
        jcenter()
    }

    dependencies {
        //聲明瞭android gradle plugin的版本
        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
}

// 內容主要包含了兩個方面:一個是宣告倉庫的源,這裡可以看到是指明的jcenter(), 之前版本則是mavenCentral(), jcenter可以理解成是一個新的中央遠端倉庫,相容maven中心倉庫,而且效能更優。另一個是聲明瞭android gradle plugin的版本,android studio 1.0正式版必須要求支援gradle plugin 1.0的版本。
  • settings.gradle
//全域性的專案配置檔案
include ':app'
  • gradle-wrapper.properties
#聲明瞭gradle的目錄與下載路徑以及當前專案使用的gradle版本,
#這些預設的路徑我們一般不會更改的,這個檔案裡指明的gradle版本不對也是很多導包不成功的原因之一。

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-2.8-all.zip
  • local.properties
## This file is automatically generated by Android Studio.
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
//通過sdk.dir屬性來設定 SDK 的位置,並且所設定的這個SDK要求存在。 
//或者,您也可以設定一個ANDROID_HOME環境變數。這兩種方法之間沒什麼差別
ndk.dir=/Users/lidecheng/Documents/android/android-sdk-macosx-2/ndk-bundle
sdk.dir=/Users/lidecheng/Documents/android/android-sdk-macosx-2

android DSL

  • defaultConfig{} 預設配置,是ProductFlavor型別。它共享給其他ProductFlavor使用

  • sourceSets{ } 原始檔目錄設定,是AndroidSourceSet型別。

  • buildTypes{ } BuildType型別

  • signingConfigs{ } 簽名配置,SigningConfig型別

  • productFlavors{ } 產品風格配置,ProductFlavor型別

  • testOptions{ } 測試配置,TestOptions型別

  • aaptOptions{ } aapt配置,AaptOptions型別

  • lintOptions{ } lint配置,LintOptions型別

  • dexOptions{ } dex配置,DexOptions型別

  • compileOptions{ } 編譯配置,CompileOptions型別

  • packagingOptions{ } PackagingOptions型別

  • jacoco{ } JacocoExtension型別。 用於設定 jacoco版本

  • splits{ } Splits型別。

    android { … }配置了用於 android 構建的所有引數。這是Android DSL的入口。

預設情況下,只需要配置編譯目標,以及build-tools的版本。它通過compileSdkVersion和buildtoolsVersion屬性來完成。

重要提示:你應該只配置使用這個android外掛。如果同時配置使用了java外掛也會導致構建錯誤。

相關推薦

gradle 基本配置介紹

gradle Gradle是一個基於Apache Ant和Apache Maven概念的專案自動化建構工具。它使用一種基於Groovy的特定領域語言(DSL)來宣告專案設定,拋棄了基於XML的各種繁瑣配置。 面向Java應用為主。當前其支援的語

Android一套程式碼打不同的包工程配置詳解_上-gradle基本知識介紹

有這樣一個場景:一個專案正在開發,後來領導說有另外一個專案跟當前專案很像,只要在上面改些東西就可以了,然後你一聽立刻把程式碼複製一份在上面改,改完以後領導又說要加一些功能,兩個專案都要加,累死累活做完以後領導又說,後面可能還會有第三個專案,只需要在上面改點東西就可以了, 並且後面加功能這三個專案都要

Racktables(二)基本配置介紹

Racktables(二)基本配置介紹Racktables基本配置介紹: 1.軟件支持語言說明 該軟件不支持多語言,在英文版本的狀態下可以正常顯示中文字符(需數據據支持中文編碼) 2.配置界面說明 2.1Rackspace機櫃配置該功能用來配置機房的位置以及機櫃的信息。包含機櫃所在的位置、行列以及機櫃的名稱

SpringBoot 學習(一)---- SpringBoot 核心 之 Spring Boot基本配置介紹

一、關閉某個自動配置 通過上一篇 @SpringBootApplication 下的 @EnableAutoConfiguration 可知,Spring Boot 會根據專案中的jar包依賴,自動做出配置,Spring Boot支援的部分自動配置如下圖(非常多):

haproxy介紹基本配置

haproxy認證 haproxy 讀寫分離 haproxy動靜分離 一 簡介: 1 haproxy 介紹 HAProxy是一個使用C語言編寫的自由及開放源代碼軟件[1],其提供高可用性、負載均衡,以及基於TCP和HTTP的應用程序代理。HAProxy特別適用於那些負載特大的web站點,這些站點通

RIP簡單介紹基本配置

nbsp ext 路由表 狀態 ethernet pc機 查看 rip v1 watermark 配置R1,R2,R3-RIP版本1R1,R2,R3同下rip 1 network 172.16.0.0debug命令,查看rip數據接收情況debugging rip 1 te

HCNA——RIP簡單介紹基本配置

除了 rip v1 們的 routing 優先 p地址 response 大小限制 由器 HCNA——RIP簡單介紹及基本配置 路由信息協議RIP 路由信息協議RIP(Routing Information Protocol)的簡稱,它是一種基於距離矢量(Distance-

【轉載】Qt入門與提高:K02-01通過簡單exe介紹pro基本配置

版權宣告 --------------------------------------------------------------------------------------------------------------------- 作者: 女兒叫老白

Android使用Gradle依賴配置compile、implementation與api的區別介紹

前言 AndroidStudio升級到3.0之後,gradle版本也隨之升級到了3.0.0版本。 當gradle外掛升級到3.0.0及以上後,我們會發現在gradle中新增依賴的時候,會推薦你使用implementation或者api,而不再推薦你使用compile,今天

Weblogic基本配置-目錄介紹(二)

weblogic目錄詳解 1. 目錄結構 user_projects:存放域的資料夾(必須要建立域後才可以產生) logs :存放日誌資訊 wlserver_10.3:weblogic目錄 預設域的目錄:Middleware\use_pro

Ubuntu 12.04下安裝vim, 簡單配置基本使用介紹

ubuntu12.04預設沒有安裝vim,執行命令會出現以下錯誤: [email protected]:~$ vim test1.c The program 'vim' can be found in the following packages:  * vi

AndroidStudio工具使用、build.gradle配置介紹(二)

1:Project Structure 專案配置介紹 上面的配置都會在專案的build.gradle檔案中顯示出來 Sdk Location中可以配置AS的SDK,NDK,JDK 2:build.gradle構建檔案介紹 構建檔

Android Studio中Module下的gradle檔案的基本配置

本文將介紹平常android開發當中專案module的gradle檔案中的基本配置(不包含建立的library進行上傳到jcenter的指令碼配置),以及針對一些常見的問題進行說明。歡迎加入交流群:微信群(AndroidRunner )、QQ群(314896948) 歡迎關

nginx基本配置與引數說明以及Nginx中的upstream輪詢機制介紹

一.nginx簡介         Nginx (發音為[engine x])專為效能優化而開發,其最知名的優點是它的穩定性和低系統資源消耗,以及對併發連線的高處理能力(單臺物理伺服器可支援30000~50000個併發連線), 是一個高效能的 HTTP 和反向代理伺服器,也

ASP.NET的Web.config基本配置介紹

通常用來控制對URL資源的客戶端訪問(如允許匿名使用者訪問)。此元素可以在任何級別(計算機、站點、應用程式、子目錄或頁)上宣告。必須與<authentication>節配合使用。使用者可以使用user.identify.name來獲取已經過驗證的當前的使用者名稱;可以使用web.Security.

Kea DHCP配置介紹基本使用

目錄 摘要 配置 啟動 管理API 測試 總結 參考文獻 附錄 摘要 簡單介紹Kea DHCP從配置到啟動,再到測試的一個流程。使用MySQL作為Kea後臺資料庫。附錄部分會給出一個完整可以用於啟動的配

Android Studio之gradle配置介紹

1、gradle的簡單介紹 Gradle是可以用於Android開發的新一代的Build System,也是Android Studio預設的build工具。其實Gradle指令碼是基於一種JVM語言— Groovy,再加上DSL組成的。由於Groovy是JVM語言,

Struts2框架(二) Web.xml, Struts.xml, Action.Java 基本配置

str web.xml images ava img ima blog XML ges Struts2框架(二) Web.xml, Struts.xml, Action.Java 基本配置

SpringMVC 基本配置

解析 res 項目 interval list 1.0 name 地址 util <一> 配置 WEB-INF/web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmln

ccnp-bgp基本配置

ccnp-bgp 配置路由器R1: R1(config)#router eigrp 1 R1(config-router)#network 1.1.1.0 R1(config-router)#network 12.12.12.0 R1(config-router)#no auto-summa