Gradleってなんぞ
参考サイト:
Gradle User Guide の8章あたりを見ると幸せになれる。
【AndroidStudio 3.0】「flavor dimension」とは何?
Gradleとは
Javaでのビルドツールの一つ。
他のビルドツールの例 make、ant、maven、sConsなど
ビルドとは、「ソースコード」を「ソフトウェア」に変換すること。
…だそうです。バリバリ書いたコードをいい感じに処理してくれるやつ。
Gradleの書き方
buildscript
ビルドスクリプト。このGradleのファイル自体が何に依存してるのか。(=何が必要なのか)を記述する場所。
repositories
リポジトリっていうのはただのファイルの集合。開発時に使えるいろいろなファイルが置いてある。便利。
Mavenさんとかjcenterさんていういい人がいる。
buildscript {
repositories{
mavenCentral() // Mavenのセントラルリポジトリを利用しますよー
jcenter() // jcenterのリポジトリを利用しますよー
}
dependencies
依存関係。いろいろ書いていく。
apply plugin
プラグイン適用。プラグインは追加の便利機能。
例)
apply plugin: 'com.android.application'
flatDir
フラットディレクトリ。
ローカルファイルシステム(=手元のPC)上のディレクトリをリポジトリとして使用することができるんだそうな。
flatDir {
dirs 'libs' // libsっていうディレクトリをリポジトリとして使用するよー。
}
android
アンドロイド。メインの記述の部分と考えればよい。
complileSdkVersion
コンパイルするアンドロイドAPIのバージョン。
ext
変数を定義できる。
android {
compileSdkVersion 24
buildToolsVersion 24
}
flavorDimensions
状況によってビルドの内容を変更したい場合に使う。例えば、開発時と本番環境UP時でコンパイルのバージョンを変えたい場合とか。 基本は"default"と記述しておく。
android {
flavorDimensions "default"
}
defaultConfig
デフォルトコンフィグ。最小APIやらターゲットSDKバージョンやらを指定する。
minSdkVersion
「これが限界ぎりぎりのバージョンだよ!」。これより低いAPIバージョンだと動かないよ!
targetSdkVersion
「このバージョンなら動くよ!」という指定。指定なしだとminSdkVersionが適用。
applicationId
アプリケーション毎にユニークなID。これが同じなら「同じアプリ」という意味になる。
versionCode
管理側のバージョン。GooglePlayなどにアップする際に変える必要あり。ユーザーからは見えない。
versionName
アプリを使用しているユーザーに見せるためのバージョン。変えなくても死なない。
defaultConfig {
minSdkVersion 14
targetSdkVersion 15
applicationId "com.example.app"
versionCode 1
versionName "1.0.0"
}
aaptOptions
apkを作る際に除外するファイルを指定?
additionalParameters
わからん。謎。
lintOptions
Android Studioにはlintっていう検査ツールがある。これでコードの構造や品質のチェックができる。そのオプションを指定する。
lintOptions {
abortOnError false // Lintでエラー出ても無視してビルド続けちゃうよ!
}
packageingOptions
なんかこう、外部のjarファイルを依存関係でとってきたときに競合が起きるのを防ぐらしい。
エラーが起きたら追加していくイメージ
packageingOptions {
exclude 'LICENSE.txt' // 「LICENSE.txt」っていうファイルを除外しますよー
}
sourceSets
javaのソースコードがデフォルトの場所(src/main/javaとか)以外に置かれている場合、それぞれの場所を指定して「追加」することができる。
def
ローカル変数。定義されている場所でしか使えない。