2015-10-19 30 views
6

にはたくさんの回答があります。にはMavenをAndroidで使用し、それに対応しています。 Mavenの役割は何正確Gradleは、Androidプロジェクトのビルドプロセスを管理し、Multi-distributionMulti-apkなどのAndroidアプリケーションを作成するには複雑なシナリオをサポートしている、すでに利用可能なものとしてAndroid StudioのMavenとは何ですか?

しかし

Androidスタジオでは?

およびGradleとは異なりますか?

答えて

7

短い答えは次のとおりです。ツールは同じことを異なる方法で行います。違いは、プロジェクトを構築するためにどのように使用できるかです。 Apache Mavenは「私たちの慣習に従う」方法になり、Gradleは柔軟性を提供します。いくつかの開発者は、新しいツールを望んでいないか、それを正しく使用する方法を学ぶ時間がありません。今

長い答え...いくつかの開発者がApacheのMavenのに添付されている理由

が正しく理解するために、我々は、過去に何年かを見ています。

Apache Mavenは、Gradleのようなビルドオートメーションツールです。

メイヴェンは2004年にリリースされました。Gradle最初のバージョンは2007年にリリースされましたが、初期にはMavenとして人気がなくなりました。 デベロッパーの中には、何か新しいことを学ぶ必要がなく、ほとんどの企業がブロック上の新しい子供のために既に実行中のマスターツール(Maven)の交換を危険にさらしたくない場合があります。

Androidの開発が盛り上がったときに人気が出ました。 Androidのプロジェクトは、Java EE/Webプロジェクトとは異なるプロジェクト構造になっています。 AndroidのプロジェクトでMavenを使用しようとすると不自然に感じられるだけで、ツールは柔軟性を提供する準備ができていませんでした。

これまでApache Mavenは、強制的な慣習をすでに知っていれば、簡単なJava EEプロジェクトで使用できます。だからGradle/Androidアプリと連絡を取り合わなかった開発者は、別のツールに変更する動機はありません。

私の意見では、Gradleはあなたが想像することができるあらゆる方法でApache Mavenよりも優れています。それはあなたに柔軟性を与え、あなたの方法で取得しようとしない、Apache Mavenで見つけることができない "機能"。 Apache Mavenのライフサイクルに従わないと、ビルドに失敗します。それだけです。

例えば、Gradleを使用している場合、あらゆる種類のレイアウトで多くのディレクトリにコードを分散することができます。 Mavenにあり、あなたが 'convention'に従わなければ、あなたのフォルダ構造を理解して処理できるように、あなたのpom(Mavenのビルドファイル)を変更するのに数時間かかるでしょう。

例:Javaソースコードはsrc/main/javaフォルダにある必要があります。古いプロジェクトがあり、構造がsrc/javaの場合、ごめんなさい。すべてのMavenプラグインが期待通りに動作するという保証はありません。

Gradle私たちは非常に整理されたチャートで比較するために多くの機能を追加しました。見てみましょう。 https://gradle.org/maven_vs_gradle/

関連する問題