GradleScriptsの初歩知識

UnityとAndroidネイティヴの連携を図る上で、数年前と多少なり事情が異なっていたので困惑中です。
そもAndroidStudioとかいうやつにまだ慣れていないのですが、GradleScriptというものが何者かの知識を持っていなかったので、それぞれどのようなものか調べました。

環境

  • OS X Yosemite v10.10.4
  • AndroidStudio v1.3.1

AndroidStudioにおける.gradleファイル

gradle
AndroidStudioで新規にプロジェクトを作成すると、このようにGradleScriptsがProjectに生成されます。
GradleScriptsにはプロジェクトのビルドを行うファイルが含まれています。
では、全てどのようなファイルか、確認していきます。


build.gradle (Project: MyApplication) : ProjectBuildFile

AndroidStudioで生成したプロジェクトのrootディレクトリ、今回は”MyApplication”の直下に生成されました。
build.gradle (Project: MyApplication)には、プロジェクト全体で共通するビルド設定がgroovyで記述されています。マルチプロジェクトを扱う時はこのファイルをいじることになりそうです。


build.gradle (Module: app) : ModuleBuildFile

“MyApplication/app”の直下に生成されました。
アプリケーションのビルド設定ファイルとして働き、”MyApplication/app/src/main”直下のAndroidManifest.xmlの設定を上書きします。

buildTypesにはdebugオプションが無いけど、追加すればdebugビルド時の設定もつくれる。
dependenciesのcompileは、プロジェクトのプロダクトコードをコンパイルするのに必要な依存関係をコンフィグする設定。

外部ライブラリはAndroidStudio上から直接追加できる。
AndroidStudio上から、File > Project Structure > appを選択してDependenciesタブを選択して+ボタンを押す > 1 Library dependency > 下記ウィンドウから指定
chooselibrary
指定すると、下記のような様式で1行追加される。

また、下記のように複数の指定も追記できる。


gradle-wrapper.properties (Gradle Version) : TheGradleWrapper

gradleのwrapperタスクに関する定義?

proguard-rules.pro (Proguard Rules for app)

コメントのみ記述されたファイルが生成されました。
難読化してくれるProguardについて設定するファイルのようです。
詳細


gradle.properties (Project Properties)

コメントのみ記述されたファイルが生成されました。
このファイルで定義した値はbuild.gradle内で使用できる。APIのキーとか書いておく用途?
詳細


settings.gradle (Project Settings)

AndroidStudioで生成したプロジェクトのrootディレクトリ、今回は”MyApplication”の直下に生成されました。
中身は1行だけ。

gradleを用いたビルドの初期時に起動されるファイルでincludeメソッドにappディレクトリを指定していますが、この記述はプロジェクトrootディレクトリからの相対パスになっています。
app以外もビルドする時、つまりマルチプロジェクトとして”MyApplication”に枝を生やす場合には、このファイルに追加で記述していけば良いようです。


local.properties (SDK Location)

コメントとともに下記のコードが生成されていました。

コメントを読む限り

  • AndroidStudioが自動生成するファイル。
  • このファイルはGradle側で使用する。開発者が直接いじるものではなく、修正しても元に戻ったりしてしまう。
  • バージョン管理すべきではない。