[解決済み] Android StudioのGradleとは?
質問
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ビルドスクリプトは、これを行うことができます。
関連
-
[解決済み] Android StudioでHttpClientがインポートされない
-
[解決済み] アイテムの親を取得する際にエラーが発生しました。AppCompat v23にアップグレードした後、指定された名前に一致するリソースが見つかりません。
-
[解決済み] Android Studioでパッケージ名を変更する
-
[解決済み] Android Studioプロジェクトの.gitignoreには何を入れるべきですか?
-
[解決済み] Gradleのimplementation, api, compileの違いは何ですか?
-
[解決済み] Android Studio for Operation Systemsでのコード書式設定ショートカット
-
[解決済み] Android StudioでAuto import allを行うためのショートカットは何ですか?
-
[解決済み] android studioでgradleをアップデートする方法は?
-
[解決済み】Android Studioです。jarをライブラリとして追加しますか?
-
[解決済み] groovy.lang.ClosureにbuildTypesを適用できない。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] OnePlusの端末を完璧にエミュレートする方法はないのでしょうか?
-
Android Studioでエラーが発生しました。Error[*, *]Could not find method android() for arguments [......]....
-
[解決済み] コメントショートカット Android Studio
-
[解決済み] Gradleのimplementation, api, compileの違いは何ですか?
-
[解決済み] Android Studioで "drawable "フォルダに画像を追加する方法を教えてください。
-
[解決済み】gradlewとgradleの使い方の違いについて
-
[解決済み] groovy.lang.ClosureにbuildTypesを適用できない。
-
[解決済み】Android Studioの.imlファイルとは何ですか?
-
[解決済み] Android Studioでプロジェクトをエクスポートする方法を教えてください。
-
[解決済み】gradleの依存関係が新しいバージョンになったかどうかを確認する方法