Gradle は私にとっても、また新しい Android 開発者にとっても少しわかりにくいものです。Android Studio の Gradle とは何か、その目的は何なのかを説明できる人はいますか? なぜ Android Studio に含まれているのですか?
ベストアンサー1
短い答え
Gradle はビルド システムです。
長い回答
Android Studioを使用する前は日食開発目的でAndroidアプリを開発する方法を知らなかったかもしれません。ダウンロード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つは、プラグインベースのシステムであるということです。つまり、独自のプログラミング言語を持っていて、パッケージ(出力など)の構築作業を自動化したい場合、ジャーソースからJava用のファイルをダウンロードすれば、Javaで完全なプラグインを作成したり、グルーヴィー(またはコトリン、 見るここ)を作成し、世界中に配布します。
Google はなぜそれを使用したのでしょうか?
Google は、市場で最も先進的なビルド システムの 1 つを見て、Groovy やその他の新しい言語を学習しなくても、ほとんど学習せずに独自のスクリプトを作成できることに気付きました。そこで、Gradle 用の Android プラグインを作成しました。
build.gradle
プロジェクトでまたはファイルを見たことがあるはずですbuild.gradle.kts
。そこでスクリプトを記述してタスクを自動化できます。これらのファイルで見たコードは Groovy または Kotlin コードです。記述すると、System.out.println("Hello Gradle!");
コンソールに表示されます。
ビルド スクリプトでは何ができますか?
簡単な例としては、実際のビルド プロセスが実行される前に、いくつかのファイルをあるディレクトリから別のディレクトリにコピーする必要がある場合があります。Gradle ビルド スクリプトでこれを実行できます。