Post on 24-Jun-2015
description
Androidアプリ開発で活躍必至!?ビルドツールGradle
2
Gradleって何??
3
Gradleとは● Groovyで動作するビルドツール
– 雰囲気としてはAntとMavenの良い所取り– Android Studioが正式にサポート– フリー && オープンソース
4
なぜGradleか??
5
お題に選んだ理由● ”Android”でググるとたくさん出る
– どうやら熱い(!?)ツールらしい
● 単純に興味があった– 私自身勉強中– LTついでにまとめときたい
6
Q: 使ってる人??
7
どこが良いの??
8
良い所
可読性と保守性– Groovy > XML
● スクリプト != 設定ファイル● 難ならJavaやScalaでも
高い自由度● 無償版と有償版を同時にビルドとか
9
さらに
移行が容易– Antもファーストオブジェクト
● 書いたモノを無駄にせず、そのまま利用可
依存関係の管理– 様々な依存関係の解決を念頭にしている
10
どう使うの??
11
インストール手順
Windows● zipファイルをダウンロード
– http://www.gradle.org/downloads– 解凍 && 移動
● 環境変数の追加– GRADLE_HOME/bin
● バージョン確認(=動作確認)
12
インストール手順
Linux
$ curl -s get.gvmtool.net | bash
$ gvm install groovy
$ gvm install gradle
$ gradle -v
13
完了!!
14
動かしてみた
15
プロジェクト
Android メモ帳あぷり– テキストファイル記述・記録・編集– カメラ/Twitter– 2バージョンリリース
● ツイッター機能有り● ツイッター機能無し
16
ビルド手順①● ディレクトリ構造の変更
– Mavenと同じ● スクリプトbuild.gradleを記述
– ちょっとしたDSL● コマンドを実行
17
ビルド手順②
$ gradle tasks
$ gradle wrapper
$ ./gradlew build
18
build.gradle①buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.9.0'
}
}
19
build.gradle②apply plugin: 'android'
android {
compileSdkVersion 19
buildToolsVersion "19.0.0"
productFlavors {
free {
packageName "com.sample.memo.free"
}
pro {
packageName "com.sample.memo.pro"
}
}
20
build.gradle③ sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['app/src/main/java']
res.srcDirs = ['app/src/main/res']
}
free {
res.srcDirs = ['app/src/free/res']
}
pro {
res.srcDirs = ['app/src/pro/res']
}
}
}
21
ソースコード
【http://github.com/amayaw9/Memo】– メモ帳あぷりのソースコード– Gradleのビルドスクリプト
22
まとめ
23
まとめ
感想– Gradleはとても優秀– Java系のプロジェクトで便利っぽい– 2バージョンリリースぐらいなら簡単に出来る
参考– HP【http://www.gradle.org/】– フォーラム【http://forums.gradle.org/gradle】
24
ご清聴ありがとうございました。