目錄
入門
每個人都必須從某個地方開始,如果您是Gradle的新手,那麼這就是開始的地方。
在你開始之前
爲了有效地使用Gradle,您需要了解Gradle是什麼並瞭解其一些基本概念。因此,在您開始認真使用Gradle之前,我們強烈建議您閱讀什麼是Gradle?。
即使您有使用Gradle的經驗,我們還是建議您閱讀有關Gradle的第5部分要了解的知識,因爲它可以消除一些常見的誤解。
安裝
如果您只想運行現有的Gradle構建,那麼如果該構建具有Gradle Wrapper,則可以通過構建根目錄中的gradlew和/或gradlew.bat文件進行識別,而無需安裝Gradle 。您只需要確保您的系統滿足Gradle的前提條件即可。
Android Studio隨附了有效的Gradle安裝,因此在這種情況下,您無需單獨安裝Gradle。
爲了創建一個新的構建或將一個包裝器添加到一個現有的構建,您將需要按照以下說明安裝Gradle 。請注意,除了該頁面上所述的方法以外,還有其他安裝Gradle的方法,因爲幾乎不可能跟蹤那裏的所有軟件包管理器。
嘗試Gradle
積極使用Gradle是瞭解它的一種好方法,因此,一旦安裝了Gradle,請嘗試以下入門實踐教程之一:
還有許多其他教程和指南可用,您可以按類別進行過濾,例如Fundamentals。
命令行與IDE
有些人是核心命令行用戶,而另一些人則更喜歡永遠不要離開他們的IDE。許多人愉快地使用兩者,並且Gradle努力不歧視。幾個主要的IDE支持Gradle ,並且可以通過Tooling API將命令行中可以完成的所有操作提供給IDE 。
Android Studio和IntelliJ IDEA用戶在編輯它們時應考慮使用Kotlin DSL構建腳本來獲得高級IDE支持。
執行Gradle構建
如果您遵循上面鏈接的任何教程,您將執行Gradle構建。但是,如果沒有任何說明就獲得了Gradle構建,該怎麼辦?
以下是一些有用的步驟:
-
發現項目結構。
可以使用IDE導入內部版本,也可以
gradle projects
從命令行運行。如果僅列出了根項目,則它是單項目構建。否則,它是一個多項目構建。 -
找出可以運行的任務。
如果已將內部版本導入到IDE,則應該有權訪問顯示所有可用任務的視圖。在命令行中,運行
gradle tasks
。 -
通過了解更多有關任務的信息
gradle help --task <taskname>
。該
help
任務可以顯示有關任務的其他信息,包括哪些項目包含該任務以及該任務支持哪些選項。 -
運行您感興趣的任務。
許多基於約定的構建都與Gradle的生命週期任務集成在一起,因此,當您沒有更具體的內容要使用該構建時,可以使用它們。例如,大多數構建有
clean
,check
,assemble
和build
任務。在命令行中,只需運行
gradle <taskname>
即可執行特定任務。您可以在相應的用戶手冊章節中瞭解有關命令行執行的更多信息。如果您使用的是IDE,請查看其文檔以瞭解如何運行任務。
Gradle構建通常會在項目結構和任務上遵循標準約定,因此,如果您熟悉相同類型的其他構建(例如Java,Android或本機構建),那麼構建的文件和目錄結構也應熟悉以及許多任務和項目屬性。
對於更專業的構建或具有重大定製的構建,理想情況下,您應該可以訪問有關如何運行構建以及可以配置哪些構建屬性的文檔。
編寫Gradle版本
學習創建和維護Gradle構建是一個過程,需要花費一些時間。我們建議您從適用於您項目的適當核心插件及其約定開始,然後在您進一步瞭解該工具時逐漸合併自定義項。
以下是掌握Gradle的一些有用的第一步:
-
嘗試一兩個基本教程,以瞭解Gradle構建的外觀,特別是與您使用的項目類型(Java,native,Android等)相匹配的構建。
-
確保您已閱讀有關Gradle的5件事!
-
如果要爲JVM構建軟件,請確保在“構建Java和JVM項目“以及“ 在Java和JVM項目中測試“中閱讀有關這些類型項目的詳細信息。
-
熟悉Gradle 隨附的核心插件,因爲它們提供了許多開箱即用的有用功能。
-
瞭解如何編寫可維護的構建腳本以及如何最好地組織Gradle項目。
該用戶手冊包含許多其他有用的信息,並且您可以在Gradle Guides中找到有關Gradle各種功能的更多教程。
將第三方工具與Gradle集成
Gradle的靈活性意味着它可以輕鬆地與其他工具配合使用,例如在“Gradle和第三方工具”頁面上列出的工具。
集成有兩種主要模式:
-
工具通過Tooling API驅動Gradle(使用它來提取有關構建的信息並運行它)
-
Gradle通過第三方工具的API調用或生成工具信息-這通常是通過插件和自定義任務類型完成的
具有現有的基於Java的API的工具通常易於集成。您可以在Gradle的插件門戶上找到許多此類集成。