Android Gradle和Gradle插件區別

2019獨角獸企業重金招聘Python工程師標準>>> hot3.png

一、引言

1、什么是Gradle?什么是Gradle插件?

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插件間版本該如何對應?

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

2、名詞解釋:

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插件版本有兩種方式:

  • 在Android Studio中選擇File > Project Structure > Project菜單;
  • 在頂層build.gradle中修改配置.

下面的例子在build.gradle中設置Gradle版本為2.2.0

151752_B0Mw_1032182.png

注意:不應該動態指定版本號,如"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版本
  • gradle/wrapper/gradle-wrapper.properties文件中編輯Gradle引用地址

gradle/wrapper/gradle-wrapper.properties文件中編輯Gradle引用地址如下:

151736_MhxP_1032182.png

五、Gradle與Gradle插件版本匹配

因為Gradle仍在發展,在不斷更新,自然Gradle插件也需要不斷更新版本才能提供對新版本Gradle的支持,那么它們之間的版本是如何對應的呢?

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

?

Plugin versionRequired Gradle version
1.0.0 - 1.1.32.2.1 - 2.3
1.2.0 - 1.3.12.2.1 - 2.9
1.5.02.2.1 - 2.13
2.0.0 - 2.1.22.10 - 2.13
2.1.3+2.14.1+

六、總結

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

build.gradle中的依賴指定的是Gradle插件的版本.

轉載于:https://my.oschina.net/ocean870227/blog/1554517

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/454753.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/454753.shtml
英文地址,請注明出處:http://en.pswp.cn/news/454753.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

裝機之MBR和GPT

MBR分區 MBR的意思是“主引導記錄”,是IBM公司早年間提出的。它是存在于磁盤驅動器開始部分的一個特殊的啟動扇區。這個扇區包含了已安裝的操作系統系統信息,并用一小段代碼來啟動系統。如果你安裝了Windows,其啟動信息就放在這一段代碼中—…

Linux 文件打亂順序

cat in.txt | awk BEGIN{srand()}{print rand()"\t"$0} | sort -k1,1 -n | cut -f2- > out.txt sort -R in.txt > out.txt 后者要計算每行的hash,再排序,在文件內容比較多的情況下前者要比后者快得多 參考文獻: http://blog.…

php 計算 目錄大小,php計算整個目錄大小的方法

本文實例講述了php計算整個目錄大小的方法。分享給大家供大家參考。具體實現方法如下:/*** Calculate the full size of a directory** author Jonas John* version 0.2* link http://www.jonasjohn.de/snippets/php/dir-size.htm* param string $DirectoryPath Dir…

實驗報告3

中國人民公安大學 Chinese people’ public security university 網絡對抗技術 實驗報告 實驗三 密碼破解技術 學生姓名 陸圣宇 年級 2014 區隊 三 指導教師 高見 信息技術與網絡安全學院 2016年11月7日 實驗任務總綱 2016—2017 學年 第 一 學期 一、實驗目的 1&am…

裝機之windows10和ubuntu雙系統

制作系統U盤 下載Ubuntu16.04 我們首先去Ubuntu的官網下載一個Ubuntu16.04的iso鏡像文件。當然里面也有優麒麟,其實就是把Ubuntu16.04漢化了一下,個人推薦安裝Ubuntu16.04 體驗上可能好一些。 利用軟碟通制作 不會的可以查看此教程https://blog.csdn…

函數之內置函數1

什么是內置函數:別人已經定義好了的函數,我們只管拿來調用就好 locals:局部作用域中的變量 globals:全局作用域中的變量 這兩者在全局執行,結果一樣;在局部中locals表示函數內的名字,返回的是一…

matlab var std,Matlab var std cov 函數解析

在Matlab中使用var求樣本方差,使用std求標準差!首先來了解一下方差公式:p [-0.92 0.73 -0.47 0.74 0.29; -0.08 0.86 -0.67 -0.52 0.93]p -0.9200 0.7300 -0.4700 0.7400 0.2900-0.0800 0.8600 -0.6700 -0.5200 0.9300…

Java中什么是匿名對象,空參構造方法輸出創建了幾個匿名對象,屬性聲明成static...

package com.swift; //使用無參構造方法自動生成對象,序號不斷自增 public class Person {private static int count; //如果在定義類時,使用的是靜態的屬性,則得到的結果是不同的。count生命周期長,與類相同public int id;public…

裝機之制作系統U盤

工具:UltraISO(軟碟通),iso鏡像 在制作系統U盤的時候我們需要去下一個軟件——UltraISO(軟碟通),這個自己去百度搜索一下應該就能出來的。下載安裝完以后,我們打開軟碟通的界面打開…

訪問index.php跳轉,打開index.php后,跳轉到/user/login.html

jeff2009-11-03 20:54:47注釋后,產生這些錯誤:Notice: Undefined property: myRouter::$user in /data/zentaophp/app/pms/module/common/control.php on line 91Notice: Trying to get property of non-object in /data/zentaophp/app/pms/module/commo…

關于清空object對象里的屬性的兩種方法

最近碰到一個問題,就是要清空對象里的屬性,我想了兩個方法,做個結果的記錄,都是自己的想法,有不對的地方請指教 var obj{};  //對象里的屬性自己看著寫吧 第一種方法: objnull; 這種方法看上去很快速&…

Linux 狀態命令之系統調用和信號傳遞 strace

簡介 strace 命令是一個集診斷、調試、統計與一體的工具,我們可以使用 strace 分析應用中涉及的系統調用和信號傳遞的跟蹤結果,以達到解決問題或者是了解應用工作過程的目的。 strace 與專業的調試工具比如說 gdb 之類的是沒法相比的,因為它…

李飛飛:為什么計算機視覺對機器人如此重要?

根據Guide2Research的排名,IROS是計算機視覺領域排名第四的學術會議,前三名分別為CVPR、ICCV、ECCV。計算機視覺在機器人的發展史中起著非常重要的作用,與之相關的“感知”也正是歷年IROS大會上的重要內容,隨著機器人研究的發展和…

php 循環 顯示 圖片,thinkphp 循環顯示圖片問題!!!~~~~

該樓層疑似違規已被系統折疊 隱藏此樓查看此樓class CatController extends Controller {public function cat(){$goodsModel D(Admin/goods);$goodslist $goodsModel->field(goods_id,goods_name,shop_price,goods_img,market_price)->where(cat_id)->select();$th…

python flask 基礎入門

1. Flask 中的Hello World! 在使用pycharm創建一個Flask項目后,將會默認創建一個flask的app,這里來講下每行代碼表示的意義,代碼入下 from flask import Flask    # 導入flask模塊 如果沒有這個模塊需要使用pip install flask 進行安裝…

[C/C++]各種面試題

各種面試題 *程序的內存分配 一個由c/C編譯的程序占用的內存分為以下幾個部分 1、棧區(stack)— 由編譯器自動分配釋放 ,存放函數的參數值,局部變量的值等。其操作方式類似于數據結構中的棧。 2、堆區(heap&#xf…

linux 命令 which whereis locate find

0、概述 * which:在PATH變量指定的路徑中,搜索與指定名字匹配的系統命令的位置,并且返回第一個搜索結果。 * whereis:搜索與指定名字匹配的二進制文件、源文件和幫助手冊文件所在的路徑。二進制文件(參數-b&…

python 轉 exe -- py2exe庫實錄

本文基于windows 7 python 3.4 把python程序打包成exe,比較好用的庫是py2exe 其操作步驟是: --> 編寫python程序 --> 再額外編寫一個導入了py2exe的python腳本(不妨如:setup.py)存在同一目錄下 --> 運行這個腳本,打包生成的exe文件…

python網絡爬蟲面試題,搞定這套Python爬蟲面試題(面試會so easy)

搞定這套Python爬蟲面試題(面試會so easy)來源:中文源碼網 瀏覽: 次 日期:2019年11月5日【下載文檔: 搞定這套Python爬蟲面試題(面試會so easy).txt 】(友情提示:右鍵點上行txt文檔名->目標另存為)搞定這套Python爬蟲面試題(面試會…

fastjson與spring mvc整合的配置

fastjson 是阿里巴巴開發的開源json解析組件&#xff0c;方便于通過java來生成和解析json格式的字符串和對象。 fastjson可以對Spring的返回數據進行json轉換&#xff08;SpringMVC的ResponseBody注釋&#xff09; 以下附上與spring mvc整合的xml配置&#xff1a; <mvc:anno…