Gradleは私にとっても、新しいAndroid開発者にとっても少し混乱しています。Android StudioのGradleとは何か、その目的は何ですか?Android Studioに含まれているのはなぜですか?
Gradleは私にとっても、新しいAndroid開発者にとっても少し混乱しています。Android StudioのGradleとは何か、その目的は何ですか?Android Studioに含まれているのはなぜですか?
回答:
Gradleはビルドシステムです。
Android Studio以前は、開発目的でEclipseを使用していましたが、EclipseなしでAndroid APKを構築する方法を知らなかった可能性があります。
これはコマンドラインで実行できますが、SDKで各ツール(dx、aapt)が何を行うかを理解する必要があります。Eclipseは、独自のビルドシステムを提供することで、これらの低レベルでありながら重要な根本的な詳細から私たち全員を救いました。
res
フォルダーがフォルダーと同じディレクトリにある理由を考えたことはありsrc
ますか?
これは、ビルドシステムが問題に入る場所です。ビルドシステムは自動的にすべてのソースファイル(.java
または.xml
)を取得し、適切なツールを適用(例:java
クラスファイルを取得してdex
ファイルに変換)し、それらすべてを1つの圧縮ファイル、つまり最愛のAPKにグループ化します。
このビルドシステムはいくつかの規則を使用します。1つの例は、ソースファイル(Eclipseでは\src
フォルダー)またはリソースファイル(Eclipseでは\res
フォルダー)を含むディレクトリを指定することです。
これらすべてのタスクを自動化するには、スクリプトが必要です。Linuxではシェルスクリプトを使用し、Windowsではバッチファイルの構文を使用して、独自のビルドシステムを作成できます。とった?
Gradleは別のビルドシステムであり、他のビルドシステムから最高の機能を取り、それらを1つに統合します。彼らの欠点に基づいて改善されています。これは、JVMベースのビルドシステムです。つまり、Android Studioで使用する独自のスクリプトをJavaで記述できます。
Gradleのすばらしい点の1つは、プラグインベースのシステムであることです。これは、独自のプログラミング言語があり、ソースからいくつかのパッケージ(JAR for Javaのような出力)をビルドするタスクを自動化する場合、JavaまたはGroovy(またはKotlin、ここを参照)で完全なプラグインを記述できることを意味します。それを残りの世界に配布します。
Googleは市場で最も先進的なビルドシステムの1つを見て、学習曲線がほとんどまたはまったくなく、Groovyやその他の新しい言語を学ばなくても独自のスクリプトを作成できることに気付きました。そこで、彼らはGradle用のAndroidプラグインを作成しました。
build.gradle
プロジェクトでファイルを確認している必要があります。ここで、タスクを自動化するスクリプトを記述できます。これらのファイルで見たコードはGroovyコードです。書き込んSystem.out.println("Hello Gradle!");
だ場合は、コンソールに印刷されます。
簡単な例は、実際のビルドプロセスが発生する前に、いくつかのファイルを1つのディレクトリから別のディレクトリにコピーする必要があることです。Gradleビルドスクリプトでこれを行うことができます。
これは、GoogleがAndroidで使用したい新しいビルドツールです。antよりも拡張性があり便利なため、使用されています。開発者のエクスペリエンスを向上させることを目的としています。
Google I / Oで AndroidデベロッパーチームのXavier Ducrohetによる講演を見ることができますこちらでご覧いただけます。
XavierとTor NorbyeによるAndroid Studioに関する別の講演もあり、GoogleのI / Oの間もここで行われます。
Gradle
がに似ていると言ったときmake
、私はちょうどその概念を得ました
これは何についての詳細な説明です Gradle
Android Studioでの使用方法と使用方法します。
Gradleファイルの探索
Gradleビルドファイル
Gradleビルドファイルは、Domain Specific Language or DSL
カスタムビルドロジックを定義し、Gradle用AndroidプラグインのAndroid固有の要素とやり取りするためにを使用します。
Android Studioプロジェクトは1つ以上のモジュールで構成されます。これらのモジュールは、個別にビルド、テスト、デバッグできるコンポーネントです。各モジュールには独自のビルドファイルがあるため、すべてのAndroid Studioプロジェクトには2種類のGradleビルドファイルが含まれています。
トップレベルのビルドファイル:ここには、プロジェクトを構成するすべてのモジュールに共通の構成オプションがあります。
モジュールレベルのビルドファイル:各モジュールには、モジュール固有のビルド設定を含む独自のGradleビルドファイルがあります。ほとんどの時間は、プロジェクトの最上位ビルドファイルではなく、モジュールレベルのビルドファイルの編集に費やします。
これらを見てみましょう build.gradle
ファイル Android Studioのプロジェクトパネルを開き([プロジェクト]タブを選択して)、Gradle Scriptsフォルダーを展開します。Gradle Scriptsフォルダーの最初の2つのアイテムは、プロジェクトレベルとモジュールレベルのGradleビルドファイルです。
トップレベルのGradleビルドファイル
すべてのAndroid Studioプロジェクトには、単一の最上位のGradleビルドファイルが含まれています。このbuild.gradle
ファイルは、Gradle Scriptsフォルダーに表示される最初のアイテムであり、Projectと明確にマークされています。
ほとんどの場合、このファイルを変更する必要はありませんが、その内容とプロジェクト内での役割を理解しておくと役に立ちます。
モジュールレベルのGradleビルドファイル
プロジェクトレベルのGradleビルドファイルに加えて、各モジュールには独自のGradleビルドファイルがあります。以下は、基本的なモジュールレベルのGradleビルドファイルの注釈付きバージョンです。
その他のGradleファイル
build.gradleファイルに加えて、Gradle Scriptsフォルダーには他のGradleファイルがいくつか含まれています。これらのファイルは、プロジェクトに関連する変更を加えると自動的に更新されるため、ほとんどの場合、手動で編集する必要はありません。ただし、プロジェクト内でこれらのファイルが果たす役割を理解することをお勧めします。
gradle-wrapper.properties(Gradleバージョン)
このファイルを使用すると、Gradleがマシンにインストールされていなくても、他のユーザーがコードをビルドできます。このファイルは、正しいバージョンのGradleがインストールされているかどうかを確認し、必要に応じて必要なバージョンをダウンロードします。
settings.gradle
このファイルは、プロジェクトを構成するすべてのモジュールを参照します。
gradle.properties(プロジェクトプロパティ)
このファイルには、プロジェクト全体の構成情報が含まれています。デフォルトでは空ですが、このファイルに追加することで、プロジェクトにさまざまなプロパティを適用できます。
local.properties(SDKの場所)
このファイルは、Android SDKインストールがどこにあるかをAndroid Gradleプラグインに伝えます。
注意: local.properties
Android SDKのローカルインストールに固有の情報が含まれています。つまり、このファイルをソース管理下に置かないでください。
このことから、gradleがよくわかりました。
Gradleは、プログラムのソースコードをビルドするビルドツールの一種です。したがって、Android Studioの重要な部分であり、アプリケーションの開発を開始する前にインストールする必要があります。
最初のプロジェクトを作成するときにAndroid Studioが代わりにインストールするため、個別にインストールする必要はありません。
定義:: Gradleはsmaller in size
、targeting specific requirements
特定の構成の特定のデバイス向けのビルドを作成するためにプロジェクトのリソースを管理するためのツールと柔軟性を開発者に提供する構造化された構築メカニズムとして説明できます
基本構成
minimumSdk
maximumSdk
targettedSdk
versionCode
versionName
ライブラリ:: 要件に応じて、Androidライブラリやその他のサードパーティライブラリを簡単に追加できます。これは以前の面倒な作業でした。ライブラリが既存のプロジェクトに適合しない場合、開発者は、ライブラリを追加できるようにプロジェクトに変更を加えるための適切な解決策を見つけることができるログを表示されます。その依存関係の1行のみ
ビルドのバリエーションの生成
ビルドタイプをビルドフレーバーと組み合わせて、さまざまなビルドバリアントを取得する
==================== ====================
| BuildTypes | | ProductFlavours |
-------------------- ====================== --------------------
| Debug,Production | || || | Paid,Free,Demo,Mock|
==================== || || ====================
|| ||
VV VV
=================================================================
| DebugPaid, DebugFree, DebugDemo, DebugMock |
| ProductionPaid, ProductionFree, ProductionDemo, ProductionMock |
=================================================================
サイズを小さくする
Gradleは、未使用のリソースと未使用のものを統合ライブラリから削除することにより、生成されたビルドのサイズを削減するのに役立ちます
権限の管理
要件に基づいて特定のシナリオで特定の権限を追加することにより、特定のビルドに特定の権限を指定できます
特定のデバイス向けのビルド
特定の密度と特定のAPIレベルを含む特定のデバイスのビルドの生成を管理できます。これは、複数のタイプのデバイスにわたる要件に応じて、アプリストアでの製品の展開に役立ちます
良い参照
Gradleについて知っておくべきことはすべてここにあります: Gradle Plugin User Guide
新しいビルドシステムの目標
新しいビルドシステムの目標は次のとおりです。
- コードとリソースを簡単に再利用できるようにする
- multi-apkディストリビューションまたはアプリケーションのさまざまなフレーバーのために、アプリケーションのいくつかのバリアントを簡単に作成できます。
- ビルドプロセスの構成、拡張、カスタマイズを簡単にする
- 優れたIDE統合
なぜGradleなのか?
Gradleは高度なビルドシステムであり、プラグインを介してカスタムビルドロジックを作成できる高度なビルドツールキットです。
Gradleを選択させた機能の一部を以下に示します。
- ビルドロジックを記述および操作するためのドメイン固有言語(DSL)
- ビルドファイルはGroovyベースであり、DSLを介して宣言要素を混在させ、コードを使用してDSL要素を操作してカスタムロジックを提供できます。
- Mavenおよび/またはIvyによる組み込みの依存関係管理。
- 非常に柔軟です。ベストプラクティスの使用を許可しますが、独自の方法を強制しません。
- プラグインは、使用するビルドファイル用に独自のDSLおよび独自のAPIを公開できます。
- IDE統合を可能にする優れたツールAPI
2つのチュートリアルを参考にして、答えを 1つ、2つ記述します
Gradleは、汎用の宣言型ビルドツールです。ビルドスクリプトで実装したいほとんどすべてのものをビルドするために使用できるため、これは汎用です。ビルドファイルに多くのコードを表示したくないので、それは宣言的です。これは、読み取り可能ではなく、メンテナンスも容易ではありません。したがって、Gradleは規則の概念とシンプルで宣言型のビルドを提供すると同時に、ツールを適応可能にし、開発者が拡張できるようにします。また、デフォルトの動作やさまざまなフックをカスタマイズしてサードパーティの機能を追加する簡単な方法も提供します。
Gradleは両方のツールの優れた部分を組み合わせ、追加機能を提供し、Groovyをドメイン固有言語(DSL)として使用します。ビルドライフサイクルや使いやすさなどのMaven機能を備えたAntツールのパワーと柔軟性を備えています。
なぜGradleなのか?なぜ今なのか?
ビルドツールの応答は、非標準の拡張メカニズムを通じてスクリプト機能を追加することです。最終的には、スクリプトコードとXMLを混在させるか、ビルドロジックから外部スクリプトを呼び出します。時間の経過とともにカスタムコードを追加する必要があることは容易に想像できます。その結果、必然的に偶発的な複雑さを招き、保守性が枠を超えてしまいます。
プロジェクトのリリースバージョンをビルドするときに、ファイルを特定の場所にコピーするとします。バージョンを特定するには、プロジェクトを説明するメタデータの文字列を確認します。特定の番号付けスキーム(たとえば、1.0-RELEASE)と一致する場合、ファイルをポイントAからポイントBにコピーします。外部から見ると、これは簡単な作業のように聞こえる場合があります。XMLに依存する必要がある場合、この単純なロジックを表現する多くの従来のツールのビルド言語は、かなり難しくなります。
Javaビルドツールの進化
JavaビルドロジックはXMLで記述する必要があります。XMLは階層データを記述するのに最適ですが、プログラムフローと条件付きロジックの表現には不十分です。ビルドスクリプトが複雑になるにつれて、ビルドコードの維持は悪夢になります。
Antでは、JARターゲットをコンパイルターゲットに依存させる。Antはプロジェクトの構成方法に関するガイダンスを提供していません。Antは最大限の柔軟性を可能にしますが、Antは各ビルドスクリプトを一意にし、理解しにくくします。プロジェクトに必要な外部ライブラリは、中央の場所からプルする自動化メカニズムがないため、通常はバージョン管理にチェックインされます。
2004年7月にリリースされたMaven 1は、そのプロセスを緩和しようとしました。標準化されたプロジェクトとディレクトリ構造、および依存関係管理を提供しました。残念ながら、カスタムロジックの実装は困難です
Gradleはその世代のビルドツールにぴったりと適合し、最新のビルドツールの多くの要件を満たします(図1)。表現力豊かなDSL、コンベンションオーバーコンベンションアプローチ、強力な依存関係管理を提供します。これは、XMLを放棄し、ビルドロジックを定義する動的言語Groovyを導入するための正しい動きです。説得力がありますね。
Gradleは、他のビルドツールの優れた機能を組み合わせています。
Gradleの魅力的な機能セット
AntやMavenではなくGradleを使用してJavaプロジェクトを構築する理由
Androidのデフォルトのビルドツール(およびJVM上の新しいビルドツールのスター)は、複雑な多言語ビルドのスクリプト作成を容易にするように設計されています。AntまたはMavenを使用している場合は、変更する必要がありますか?
ビルドスクリプト内でGradleのパワー機能をロック解除するための鍵は、下の画像に示すように、ドメインモデルを見つけて適用することです。
Gradleは、企業のビルドに固有のすべての要件を知ることはできません。Gradleは、フックをライフサイクルフェーズに公開することで、ビルドスクリプトの実行動作を監視および構成できます。
Gradleは、Groovyに実装されたDSLを公開することにより、そのモデルの語彙を確立します。複雑な問題ドメインを処理する場合、この場合、ソフトウェアを構築するタスク、共通言語を使用してロジックを表現できるタスクは、強力なツールになることがあります。
別の例は、外部ライブラリへの依存関係を表現する方法です。これは、ビルドツールによって解決される非常に一般的な問題です。すぐに使用できるGradleには、ビルドスクリプト用の2つの構成ブロックが用意されており、そこから取得する依存関係とリポジトリを定義できます。標準のDSL要素がニーズに合わない場合は、Gradleの拡張メカニズムを通じて独自の語彙を導入することもできます。
他のビルドツールとの統合
下の画像に示すように、Gradleは前任者のAnt、Maven、Ivyでうまく機能します。
ビルドからデプロイメントまでのプロジェクトの自動化
画像:デプロイメントパイプラインのステージ。
コードをコンパイルする
単体テストと統合テストの実行
静的コード分析の実行とテストカバレッジの生成
ディストリビューションを作成する
ターゲット環境のプロビジョニング
成果物の展開
煙と自動機能テストの実行
Gradleはビルドシステムです。ビルドシステムは、プログラムのコンパイルプロセスを自動化するように設計されたソフトウェアツールです。ビルドシステムにはさまざまな形式があり、さまざまなソフトウェアビルドタスクに使用されます。その主な目的は、実行可能ファイルを効率的に作成することです。
もう1つの関連用語は、ビルドの自動化です。これは、ソフトウェアビルドの作成を自動化するプロセスと、コンピューターのソースコードをバイナリコードにコンパイルする、バイナリコードをパッケージ化する、自動テストを実行するなどの関連プロセスです。
他の言語向けの同様のビルドシステムはほとんどありません(完全なリストはこちらをご覧ください):
私は、議論の余地があるリスクを冒して、Android Studio / Gradleエクスペリエンスがなぜそれほど悪いのかという問題があると思います。
Clojureの典型的な経験:
Android Studio / Gradleの典型的なエクスペリエンス:
これがGradleの責任かどうかはわかりません。しかし、「Eclipseプロジェクトからのインポート」はかなり不安定なようです。Gradleの洗練された機能とビルドシステムの利点のすべてについて、Android Studioは、Eclipseからビルドの依存関係またはビルドプロセスをうまくインポートしていないようです。
完全な依存関係グラフのインポートに失敗した場合は通知されません。Android Studioには、問題の解決方法に関する有用なヘルプやヒントはありません。Eclipseフォルダーを手動で確認できる場所はわかりません。どのライブラリが不足しているように見えるかはわかりません。または、Mavenなどを検索するのに役立ちます。
2016年には、Leiningen / Clojars、ノードのnpm、Pythonのpip、Debian apkg(他の言語やシステム用の同様のパッケージマネージャーがたくさんあるなど)はすべて美しく動作します...依存関係の欠落は過去のものです。
Androidを除く。Android Studioは、今でも依存関係の欠如を経験しているように見える唯一の場所です。
私はこれがグーグルのせいだと言いがちです。彼らは、堅牢な変換プロセスを生成せずにEclipseからAndroid Studio / Gradleにシフトすることをキャバリアで決定したとき、Androidエコシステム(および数千の既存のAndroidプロジェクト/オンラインチュートリアル)を壊しました。プロジェクトがEclipseで動作している人々は、それらをASに適応させていません(おそらくそれが彼らの苦痛のためです)。そして、それらのプロジェクトをASで使用しようとする人々は、同じ問題に直面しています。
とにかく、Gradleがこの超強力なビルドシステムである場合、なぜSDKマネージャーで他の多くの依存関係をまだ管理しているのですか?たとえば、ndkが必要なプロジェクトでGradleファイルにこれを指定して、必要なときに自動的にインストールされてビルドされるようにできないのはなぜですか?NDKはなぜ特別なのですか?ターゲットプラットフォームについても同様ですか?プロジェクトをチェックして、裏で並べ替えるのではなく、IDEに明示的にインストールするのはなぜですか?
Gradle
プラグインを介してカスタムビルドロジックを作成できる高度なビルドシステムおよび高度なビルドツールキットです。
利点:
マニフェストエントリ
DSLを介して、次のマニフェストエントリを構成できます。
ビルドバリアント
デフォルトでは、Androidプラグインはプロジェクトを自動的にセットアップして、アプリケーションのデバッグバージョンとリリースバージョンの両方をビルドします。
依存関係
JARファイルなど、モジュールが依存するローカルファイルシステムにバイナリアーカイブがある場合は、そのモジュールのビルドファイルでこれらの依存関係を宣言できます。
最初にリポジトリをリストに追加し、次にMavenまたはIvyがアーティファクトを宣言する方法で依存関係を宣言する必要があります。
GradleはGroovy JVM言語にとって、Javaにとってのアリです。基本的には、Groovyのビルドツールです。Antとは異なり、完全なGroovy言語に基づいています。たとえば、GradleスクリプトでGroovyスクリプトコードを記述して、特定のドメイン言語に依存するのではなく、何かを行うことができます。
IntelliJの特定の統合はわかりませんが、特定の「ビルド」言語プリミティブを記述してGroovy言語の一部になったようにGroovyを「拡張」できると想像してください。(Groovyのメタプログラミングはそれ自体が全体の議論です。)IntelliJ / GoogleはGradleを使用して非常に高水準のビルド言語を構築できますが、それは拡張可能なオープンスタンダードに基づいた言語ビルドです。
Gradleは、Androidプロジェクトだけでなく、さまざまな環境に統合できる自動ビルドツールキットです。
ここでは、gradleでできることをいくつか紹介します。
GradleにはAndroid Studioプロジェクトのデフォルト設定があるため、新しいプロジェクトには最小限の設定が必要です。
依存宣言。ローカルサーバーまたはリモートサーバーでホストされている依存関係jarファイルまたはライブラリファイルを宣言できます。
Gradleは、プロジェクトのソースからテストディレクトリとテストAPKを自動的に生成します。
keyPassword
and などの必要なすべての情報をkeyAlias
Gradleビルドファイルに追加すると、Gradleを使用して署名済みAPKを生成できます。
Gradleは、単一のモジュールから、パッケージとビルド構成が異なる複数のAPKを生成できます。
Android Studioでは、Gradleは依存関係を管理し、カスタムビルドロジックを提供することでAndroidパッケージ(apkファイル)をビルドするために使用されるカスタムビルドツールです。
APKファイル(Androidアプリケーションパッケージ)は、特別にフォーマットされたzipファイルで、
apkファイルは署名され、ADB(Android Debug Bridge)を使用してデバイスにプッシュされ、そこで実行されます。
Gradleは、複数のソース、プロジェクト、ライブラリなどからの数万行のコードを含む複雑なAndroidプロジェクトの構築を自動化することを可能にするものです。条件付きで、多数の構成仕様に基づいて複数の最適化されたAPKを生成できます。興味を持って、他の回答はGradleのこの側面の詳細を提供します。
ただし、Android開発に不慣れな場合は、99%のケースでGradleがプロジェクトのビルドを妨げます。これは不可解で複雑なシステムであり、Androidビルドプロセスを効果的に難読化し、基本的に経験の浅い開発者が利用できないようにします。つまり、単純なエントリレベルのAndroidアプリを構築するために、疑いのない初心者は、彼らが交渉しなかった多くのことを研究して理解する必要があるかもしれませんといった:
これらすべては、Android開発者が知るのに興味深く有用ですが、それらは簡単ではなく、参入への手ごわい障壁となっています。OPがこの質問をするきっかけとなったのは、シンプルなアプリを作成しようとしてあまりにも長い時間を費やしてGradleによって絶えず妨害された後、新参者の開発者を必然的に襲った欲求不満の感情だと思います。この問題は、これらのすべてのテクノロジーで利用できる非常に技術的なドキュメントが圧倒的に多いため、ひどく悪化しています。また、大量の開発ニーズに対して、Gradleは過剰です。
もう1つの方法は、Android SDKで利用可能なツールを自動化してプロジェクトを構築するシェルスクリプトを記述することです。このアプローチの利点は数多くあります。まず第一に、ビルドプロセスとAndroidエコシステムを調査および理解するためのおそらく最良の方法であり、アプリのビルド方法を完全に制御することができます。ただし、このアプローチは、Androidを試してみる経験の浅い初心者よりも、深く取り替えることができないテックヘッドに適しています。
存在しないことで目立つのは(そのようなものがある場合はお知らせください)エントリーレベルの軽量IDEであり、機能セットが削減されているため、ビルドプロセスを単純化すると同時に(NetBeansやEclipseではなく)、おそらくそれを覆い隠すことはありません。 Gradleを使用します(Antの何が問題でしたか)。いくつかの一般的な構成に準拠したAPKを簡単に生成し、完全にAndroid Studioプロジェクトに展開できるプロジェクト構造を使用することを容易にする必要があります。
Android Studioでは、GradleはAndroidアプリケーションプロジェクトのビルドに使用されるため、ビルドシステムの役割を果たします。Android Studioが登場する前は、Eclipseでコマンドラインツールを使用してアプリケーションをコンパイルおよびビルドしていましたが、すぐにGUIベースの手順に移行し、ANTを使用してEclipseでAndroidアプリケーションをビルドおよび実行していました。すべてのAndroidアプリケーション開発ツールは、リソース、Javaソースコード、外部ライブラリをコンパイルし、それらを組み合わせて最終的なAPKにする必要があります。
Gradleはビルドシステムであり、コードのコンパイル、テスト、デプロイ、およびコードの.dexファイルへの変換を担当し、デバイス上でアプリを実行します。
Android StudioにはGradleシステムがプリインストールされているため、プロジェクトをビルドするために追加のランタイムソフトウェアをインストールする必要はありません。あなたがクリックするたびにAndroid Studioでボタンと、gradleタスクが自動的にトリガーされ、プロジェクトのビルドが開始されます。gradleがタスクを完了すると、アプリがAVDまたは接続されたデバイスで実行されます。
Gradleのようなビルドシステムはコンパイラやリンカーなどではありませんが、コンパイル、ファイルのリンク、テストケースの実行、そして最終的にはコードをAndroidアプリケーションのapkファイルにバンドルする操作を制御および監視します。
2つのがありbuild.gradleのあらゆるアンドロイドスタジオプロジェクトのファイルが一つはあるため、アプリケーションや他の用でプロジェクトレベル(モジュールレベル)ビルドファイル。
ビルドプロセスでは、コンパイラはソースコード、リソース、外部ライブラリJARファイル、およびAndroidManifest.xml(アプリケーションに関するメタデータを含む)を取得し、バイトコードを含む.dex(Dalvik実行可能ファイル)ファイルに変換します。そのバイトコードは、アプリを実行するすべてのAndroidデバイスでサポートされています。次に、APKマネージャーは.dexファイルと他のすべてのリソースを単一のapkファイルに結合します。APKパッケージャ兆候デバッグまたはリリースAPK、それぞれのデバッグまたはリリースのキーストアを使用しました。
デバッグ apkは通常、テスト目的で使用されます。または、開発段階でのみ使用されると言えます。アプリに必要な機能が完了し、外部使用のためにアプリを公開する準備ができたら、リリースAPKが必要です、リリースキーストアを使用して署名され。
では、gradleファイルに光を当てましょう。
setting.gradle setting.gradle(Gradle setting)ファイルは、アプリで使用されるすべてのモジュールを指定するために使用されます。
build.gradle(プロジェクトレベル) トップレベル(モジュール)のbuild.gradleファイルは、プロジェクトレベルのビルドファイルであり、プロジェクトレベルでビルド構成を定義します。このファイルは、Androidアプリケーションプロジェクトのすべてのモジュールに構成を適用します。
build.gradle(アプリケーションレベル) アプリケーションレベルのbuild.gradleファイルは、androidプロジェクトの各モジュールにあります。このファイルには、アプリケーションIDとしてのパッケージ名、バージョン名(apkバージョン)、バージョンコード、特定のアプリケーションモジュールの最小およびターゲットSDKが含まれています。外部ライブラリー(jarファイルではない)を含める場合は、それをアプリレベルのGradleファイルで言及して、アプリケーションの依存関係としてプロジェクトに含める必要があります。
注:特定のアプリケーションが、スマートフォン、タブレット、TVなどの個別のモジュールのバリエーションで開発されている場合は、すべてに対して個別のGradleファイルを作成する必要があります。コマンドラインツールを使用してGradleシステムを起動することもできます。次のコマンドを使用します。
./gradlew build-(ビルドプロジェクト)
./gradlew clean build-(ビルドプロジェクトの完全なスクラッチ)
./gradlew clean build-(テストを実行)
./gradlew wrapper-(使用可能なすべてのタスクを表示する)
Gradle = Groovy + Cradle Hans Dockterフォーラムコメント
Android Studioで「ビルド」または何かと呼ばれる可能性がある場合、混乱は少し不要です。
私たちは開発コミュニティで自分自身を困難にすることを好みます。