有很多關於的解答如何在中使用Maven
在Android中使用它。Android Studio中的Maven是什麼?
然而,作爲Gradle
是已經上市,它管理的Android項目的構建過程,並支持複雜的場景中創建Android應用程序,如Multi-distribution
和Multi-apk
,
什麼究竟是Maven
作用在Android Studio中?
和如何它不同於Gradle
?
有很多關於的解答如何在中使用Maven
在Android中使用它。Android Studio中的Maven是什麼?
然而,作爲Gradle
是已經上市,它管理的Android項目的構建過程,並支持複雜的場景中創建Android應用程序,如Multi-distribution
和Multi-apk
,
什麼究竟是Maven
作用在Android Studio中?
和如何它不同於Gradle
?
簡短的回答是:工具以不同的方式做同樣的事情。不同之處在於您如何使用它來構建您的項目。 Apache Maven遵循「遵循我們的約定」的方式,Gradle爲您提供了靈活性。有些開發人員不希望有新的工具,或者沒有時間學習如何正確使用它。
現在長的答案...
要正確理解爲什麼有些開發者連接到Apache Maven的,我們來看看一些年過去。
Apache Maven
是一個構建自動化工具,就像Gradle
一樣。
Maven於2004年發佈。Gradle
第一個版本在2007年推出,但他在早期沒有像Maven
那樣受歡迎。有些開發人員不喜歡學習新東西,大多數公司不希望冒險爲已經運行並掌握的工具(Maven
)交換該塊新孩子的風險。
當Android開發上升時,Gradle開始流行起來。 Android的項目與Java EE/Web項目有不同的項目結構。試圖在Android項目中使用Maven只是感覺不自然,該工具沒有準備好提供靈活性。
到目前爲止,如果您已經知道強制約定,那麼Apache Maven可以在簡單的Java EE項目中使用,而不會對屁股造成痛苦。因此,不瞭解Gradle /的開發人員並未與Android應用程序取得聯繫,因此他們沒有動力去改變其他工具。
在我看來,Gradle
比你想象中的任何一種方式都好,比Apache Maven
更好。它爲您提供了靈活性,並盡力避免陷入困境,這是您在Apache Maven
找不到的「功能」。如果你不遵循Apache Maven
生命週期,你的構建會失敗,就是這樣。
例如,如果您使用的是Gradle
,則您的代碼可以以任何佈局分佈在多個目錄中。如果您使用的是Maven
,並且您不遵循「慣例」,則會因爲能夠理解和處理文件夾結構而損失幾個小時來更改您的pom文件(Maven
的構建文件)。
例如:Java源代碼必須位於src/main/java
文件夾中。如果你有一箇舊項目,結構是src/java
,對不起,你不能保證所有的Maven插件都能按預期運行。
Gradle
幫助我們,並在非常有組織的圖表中放置更多功能進行比較。看一看。 https://gradle.org/maven_vs_gradle/