1. 程式人生 > >Android Gradle和Gradle外掛(Android Gradle plugin)區別

Android Gradle和Gradle外掛(Android Gradle plugin)區別

引言
什麼是Gradle?什麼是Gradle外掛(Android Gradle plugin)?

build.gradle中依賴的classpath 'com.android.tools.build:gradle:2.1.2'和

gradle-wrapper.properties中的distributionUrl=https://services.gradle.org/distributions/gradle-2.10-all.zip有什麼區別?

Android studio 更新後,Gradle和Gradle外掛間版本該如何對應?

你是不是也有這樣的困惑?讀完本文後,或許對你有點點幫助.

名詞解釋:

Gradle外掛:該名稱的英文是:Android Plugin for Gradle

Gradle和Gradle外掛區別
我們知道Android的構建系統使用Gradle來構建應用.Gradle是一種構建工具,它使用一種基於Groovy的特定領域語言來申明專案設定.

上面是Android developer上對Gradle的解釋.聽起來有些拗口.我們可以這麼理解:

軟體開發過程不僅僅是編寫程式碼,還涉及到對專案的管理,比如:新增專案的依賴,打包,簽名,釋出等一系列操作,如果你每天都在做這些操作,那有沒有想過這些操作可以像程式碼一樣被描述出來,供我們複用以及自動執行.

沒錯,這就是Gradle替我們做的事!Gradle通過編寫一個名為build.gradle的指令碼檔案對專案進行設定,再根據這個指令碼對專案進行構建.

那麼,如何來提供這個Gradle構建環境呢?這就需要通過安裝Gradle外掛來使系統能支援執行Gradle.安裝Android Studio後就已經幫我安裝了Gradle外掛.但Gradle外掛是獨立於Android Studio執行的,所以它的更新也是與Android Studio分開的.

更新Gradle外掛
當更新了Android Studio,你可能會收到提示要求更新Gradle外掛到最新版本.你可以選擇接受更新,也可以基於你的專案編譯要求來手動指定版本.

指定Gradle外掛版本有兩種方式:

1 在Android Studio中選擇File > Project Structure > Project > Android Gradle plugin來指定Gradle外掛版本;
2 在專案外層build.gradle中修改配置.
下面的例子在build.gradle中設定Gradle版本為2.2.0

buildscript {
   ...

    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.3'
    }

}
 
注意:不應該動態指定版本號,如"com.android.tools.build:gradle:2.+".這樣做可能會導致意外的版本更新,並且會給解決版本差異帶來困難.
如果指定的版本沒有下載下來,那麼專案在下次構建的時候Gradle會再去下載.或者你也可以點選Tools > Android > Sync Project with Gradle Files去下載.

更新Gradle
當更新了Android Studio,系統會提示要求更新Gradle到最新版本.同更新Gradle外掛一樣,你可以選擇接受更新,也可以基於你的專案編譯要求來手動指定版本.

更新Gradle也有兩種方式:

通過選擇File > Project Structure > Project >  Gradle version 來指定Gradle版本
在gradle/wrapper/gradle-wrapper.properties檔案中編輯Gradle引用地址
在gradle/wrapper/gradle-wrapper.properties檔案中編輯Gradle引用地址如下:

...

distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip

...

Gradle與Gradle外掛版本匹配
因為Gradle仍在發展,在不斷更新,自然Gradle外掛也需要不斷更新版本才能提供對新版本Gradle的支援,那麼它們之間的版本是如何對應的呢?

下圖展示了Gradle外掛與Gradle版本間更新的對應關係.順便說一下,最好讓你的Gradle和Gradle外掛都更新到最新.

 

總結
gradle-wrapper.properties中配置的是的Gradle的版本.

build.gradle中的依賴指定的是Gradle外掛的版本.
--------------------- 
作者:金偉__ 
來源:CSDN 
原文:https://blog.csdn.net/jinrall/article/details/53220761 
版權宣告:本文為博主原創文章,轉載請附上博文連結!

相關推薦

Android GradleGradle外掛Android Gradle plugin區別

引言 什麼是Gradle?什麼是Gradle外掛(Android Gradle plugin)? build.gradle中依賴的classpath 'com.android.tools.build:gradle:2.1.2'和 gradle-wrapper.proper

【Log】android手機除錯AP側main、kernel、BP側ANR、hcidump的log抓取方法

AP的log抓取   主要有main log和kernel log兩種。 1、Main log   註釋:     Main log為應用程式的log,也是最常用的一種。提交功能性bug時,一般都要提供Main log。   方法1:     在手機後臺裡開一個程

gradle構建指令碼基礎一個大概介紹

update time:2019-1-10 Author:要你命三千又三千 type:學習筆記 setting 檔案(預設檔名:setting.gradle) 作用:初始化以及工程樹的配置 位置:在根工程目錄下 大多數的作用:配置子工程 gr

Android Studio酷炫外掛——自動化快速實現Parcelable介面序列化

一、前言 相信資料序列化大家都多多少少有接觸到,比如自定義了一個實體類,需要在activity之間傳輸該類物件,就需要將資料序列化。android中實現方式有兩種,第一、實現Serializable介面,這種比較簡單,直接宣告就好;第二種,實現Parcelable介面,這種

Android UI設計形成原理實現三級選單

本次要實現的是動態編碼之三級選單的實現,在實際應用開發中經常會使用到三級選單,比如商城專案中的省市區,分類等等。 問題:介面載入是一次性new 大量的控制元件還是先載入一級選單,點選一級選單載入他對應的二級選單 答:這個很明顯是後者更符合開發思維,因為客戶不可能每個級別都一

電腦Linux/Windows使用SSH遠端登入安卓Android手機實現無線傳輸管理檔案圖文詳解

電腦(Linux/Windows系統)使用SSH遠端登入安卓(Android)手機實現無線傳輸和管理檔案(圖文詳解) 溫馨提示 本文只針對安卓(Android)手機!iPhone或者WP的手機使用者,請不要浪費時間在本文。 前言 在將And

快速升級已安裝的 Android SDK ADT 外掛

如何快速地把已安裝的 Android SDK 及 Eclipse 的 ADT 外掛升級到最新版本?同時又能保證之前下載的 Android API 和擴充套件可用。下面我們使用三步來完成更新操作。 第一步,升級 Android SDK 首先到 Google Android S

Android 拍照相簿功能適配Android 6.07.0系統華為機型問題

眾所周知,呼叫相機拍照和相簿中獲取圖片的功能,基本上是每個程式App必備的。 實現適配Android每個版本,國內手機,要處理的問題卻也不少。例如:Android6.0許可權問題,Android7.0 FileProvider問題,華為手機相簿獲取不到圖片的問

Android 仿蘑菇街列表彈出瀑布流 ScrollView+RelativeLayout實現

之前看到用線性佈局寫的瀑布流,覺得不大好,自己想了另外一種方案, (最近發現用 網頁實現瀑布流 再用WebView載入才能完美實現效果) 原理使用RelativeLayout任意定位位置  核心方法 private void addViewByMargins(Re

Android--menuOkHttp框架未封裝,結合Executors執行緒池實現網路請求的案例

涉及到的 知識點: 1.安卓UI元件menu 2.OkHttp框架 3.Executors(執行緒池) OkHttp結構簡介 案例程式碼 import android.os.Bundle; import android.suppo

Mac下利用EclipseADT外掛搭建Android開發環境

一.下載並安裝JDK,然後配置JDK環境(Mac已經幫你搞定了) 在終端驗證:$ javac -version 二.下載並安裝Eclipse 以上步驟就搭建好了開發普通的Java程式。 下面的步驟來搭建開發Android程式的環境:下載Android

Android Studio中創建或添加第一個Hello World應用程序

創建過程 eight 過程 使用真機 項目路徑 應用程序 設備 ext 直接 下面我們將使用Android Studio創建第第一個簡單的Hello World應用程序。 1、打開Android Studio,加載畫面如下圖所示: 2、選擇”Start a new A

Android 修改應用圖標Android Studio

應用 應用圖標 detail ble ref 圖標 icon sdn 編譯運行   1 res\drawable 放置icon.png(此圖片是你需要修改的圖標,必須是png文件)。   2 修改AndroidManifest.xml: android:icon="@dra

Android lrucache 實現與使用Android內存優化

hashmap 獲取 fin pub viewpage map.entry ring zhong 實現 什麽是LruCache? LruCache實現原理是什麽? 這兩個問題其實可以作為一個問題來回答,知道了什麽是 LruCache,就只然而然的知道 LruCac

android TextView 分散對齊兩端對齊

import android.content.ClipboardManager; import android.content.Context; import android.content.res.TypedArray; import android.graphics.Paint; imp

Android執行命令列命令獲取系統Logcat

Android執行命令列命令 一、通過ProcessBuilder 1 String[] args = {"pm", "install", "-r", filePath}; 2 ProcessBuilder processBuilder = new Proce

Android之列印長日誌兩種方法

//第一種方式 //列印長的日誌 public static void LongLoge(String str){ int max_str_length=2001-NOTGREENDAO.length(); //大於4000時

30款android開發高效必備工具附下載地址

工作高效是為了騰出更多個人時間。在android開發中,還真有些人氣小工具,能幫你快速解決問題,提高開發效率。 Vysor Vysor 是一個可以將手機的螢幕投影到電腦上,當然也可以操作,當我們做分享或者演示的時候,這個工具起到了作用。 Vector Asset And

Android獲取藍芽地址非mac地址

方法: public static String getBlueToothAddress(Context context){ return android.provider.Settings.Secure.getString(context.getContentResol

Android複習之旅--ViewPager應用引導頁

對於ViewPager,相信大家都不陌生,ViewPager在應用中的使用頻率和ListView是有得一拼的。而ViewPager最常用於三個場景,分別是應用的新手引導頁,廣告輪播控制元件,和Fragment結合做應用內的標籤頁。 由於網上已經有很多關於ViewPager的博文了,寫