1. 程式人生 > >Android Gradle 詳解 2016 乾貨

Android Gradle 詳解 2016 乾貨

為啥要說Gradle,因為這哥們是在是個坑啊,而且還是繞不開的坑啊。
就像我,上來就一心想著幹程式碼,完成專案,但是往往有的時候就會掉到這個坑裡而無法自拔。實在是恨死了啊。說多了都是眼淚,那麼直接上圖,從簡到難,深入淺出的來了解一下Gradle到底是個什麼東西。
這裡寫圖片描述

Project 分支下的 settings.gradle 當中主要是用來 include 子模組的,比如我們這個工程有一個叫做 app 的子模組,那麼 settings.gradle 的內容如下:

include ':app', ':android-pull-master', ':android-selector-master'


其是這裡面就是開啟的Modle,這些Modle包括我們開發的專案和依賴的包。所以很簡單的就是當我們要關閉某個專案的時候只需要將這個專案的名字在setting.gradle裡除去就可以了。還有就是有的時候我們通過studio匯入Modle的時候會失敗,那麼直接複製進工作區,然後在setting裡面加入這個專案的名稱然後點選右上角的syn now之後,就會自動的將我們要新增的專案新增進去了。

這裡大家看到加粗的字型,這裡很重要,當我們對gradle檔案進行設定和更改的時候,為了讓他重新編譯生效,需要點選同步才可以,否則就會出現,我們改了設定,然後關閉,發現沒有變化發生!

這個是最簡單的地方。

Project 分支下的 build.gradle 這裡麵包含一些通用的配置,這些配置可以在各個子模組當中使用。

gradle.properties 這個檔案很簡單 從字面裡就可以看出來,這裡面儲存著gradle的一些引數 ,舉個栗子。
那麼我們自己來加一個內容,比如

hello=Hello World Tag!

然後在我們的 build.gradle 中新增這樣的程式碼

task hello {
    println "hello world"
    println project.getProperties().get("hello");
}

我們可以看到在編譯,專案的時候會出現
這裡寫圖片描述


可以看到第二個輸出的內容就是我們在gradle.properties 設定的引數。
所以我們可以將gradle.properties看成一個gradle的引數庫。也可以理解成android 中的sharepreference.

local.properties這個是 SDK 或者NDK的路徑。直接看原碼

sdk.dir=F\:\\android_sdk\\android-sdk-windows