1. ホーム
  2. android-studio

[解決済み] Android StudioのGradleとは?

2022-03-19 09:25:28

質問

Gradleは私にとっても、新しいAndroid開発者にとっても、少しわかりにくいものです。Android StudioのGradleとは何か、その目的は何なのか、どなたか説明していただけませんか?なぜ、Android Studioに含まれているのですか?

どのように解決するのですか?

簡単な答え

Gradleはビルドシステムです。

長い回答

Android Studioの前に使っていたのは エクリプス をどのように構築すればよいのか分からなかったのではないでしょうか。 APK Eclipseがないと。

コマンドラインでも可能ですが、各ツール( dx AAPT ) がSDKに含まれています。 Eclipseは、独自のビルドシステムを提供することで、こうした低レベルではあるが重要で基本的な詳細から私たち全員を救ってくれたのです。

さて、なぜこのように res フォルダと同じディレクトリにある src フォルダーを使用しますか?

ここで、ビルドシステムが登場します。ビルドシステムは自動的にすべてのソースファイル( .java または .xml を使用し、適切なツールを適用します。 .java クラスファイルを .dex ファイル)を作成し、それらを1つの圧縮ファイル(私たちの愛するAPK)にまとめます。

このビルドシステムは、いくつかの規約を使用しています。その一例として、ソースファイルを含むディレクトリを指定します(Eclipseの場合は \src フォルダ)またはリソースファイル(Eclipseでは \res フォルダ)。

Linuxではシェルスクリプト、Windowsではバッチファイル構文を使って、独自のビルドシステムを書くことができます。わかったか?

Gradleはもう一つの ビルドシステム は、他のビルドシステムから最良の機能を取り出して、1つにまとめたものです。他のビルドシステムの欠点を補い、改良を加えています。それは JVMベースのビルドシステム . つまり、Android Studioが利用するJavaで独自のスクリプトを書くことができるのです。

Gradleのクールな点の1つは、それが プラグインベースシステム . つまり、もしあなたが独自のプログラミング言語を持っていて、あるパッケージのビルドタスクを自動化したい場合(たとえば JAR ファイル) をソースから作成する場合、完全なプラグインを Java または グルービー (または コトリン を参照してください。 こちら )を、世界中に配信しています。

なぜグーグルはそれを使ったのか?

Googleは、市場で最も先進的なビルドシステムの1つを見て、Groovyやその他の新しい言語をほとんど学習することなく、独自のスクリプトを書くことができることに気づきました。そこで、彼らはGradleのためのAndroidプラグインを書きました。

を見たことがあるはずです。 build.gradle ファイル(複数可)を作成します。これは、タスクを自動化するためのスクリプトを書くためのものです。これらのファイルで見たコードはGroovyのコードです。もし、あなたが System.out.println("Hello Gradle!"); と入力すると、コンソールに表示されます。

ビルドスクリプトでできることは?

簡単な例としては、実際のビルド処理が行われる前に、あるディレクトリから別のディレクトリにいくつかのファイルをコピーする必要がある場合です。Gradleビルドスクリプトは、これを行うことができます。