SlideShare a Scribd company logo
1 of 40
Download to read offline
Gradle Task
with Kotlin :kotlin_icon:
KOTLIN FEST REJECT CONFERENCE 2019 [非公式]
自己紹介
くぅ寿司大好き 🍣🍶
最近は、Android Studio より Terminal から
Androidアプリをビルドすることが多い人間
大学4年生@愛知県
写真を撮るのが趣味。あとは、飲酒。
Gradle task with
kotlin
今日のゴール
Gradle の入門の雰囲気を掴
む
Kotlin での Gradle Task の書
き方を理解した気になる
10分間話しきる
Android アプリを
ビルド #とは
Android Studio のビルドボタン
Android アプリをビルド
1. Android Studio のビルドボタンぽち
2. 何か素敵な動きがあって
3. 成果物のAPKが排出される
4. Run *.apk at Real Device or Android Emulator
何か素敵な
動き
>Task :app:assembleDebug
Gradle で動くAndroid Gradle Plugin
https://developer.android.com/studio/releases/gradle-plugin
Android Studio [ビルドボタン] ポチっ
Android Gradle Plugin の中にあるビルドするためのツール
を呼び出し
...Android アプリをビルドするための細々としたタスクが連続
して呼び出される
ビルド成果物を手に入れることができる
https://developer.android.com/studio/build
ルートの build.gradle
に追記すればおk
実は既にタスクサンプルみたいなのが
存在してる
Type: Delete ってなんだ🤔
とはいえ最小の Gradle Task
これを拡張して色々書いてくぞ 💪
一つの関数の中にこ
のまま書いてくと
Fat-Activity の再来
ということで
別クラスに分けよう
BuildSrc Module を
追加して...
呼び出すとこんな感じのにする
Sample Task Classを追加する
ルートの build.gradle にはこんな感じで
さらっと出てきた
build Src Module とは
BuildSrc
Module とは
Gradle から特別な扱いを受ける
Module
ビルド全体で使うためのソースコード
やタスクを定義するためのモジュー
ル
ここに Gradle Custom Task を記述す
るときにソースコードを入れる
BuildSrc は App module よりも先にビル
ドされます
Kotlin 成分…? 🙄
Gradle Task は JVM
系の言語で書ける
もちろん
Kotlin で書くメ
リット
Groovy よりも型がちゃんとしてる
Java よりも書きやすい
アプリ本体を書いた後にコンテキストスイッチ
が少なく書ける
Sample Task Classを見てみる
まとめ
Gradke Task を追加して色々遊べる
時間が余ったら流すスライド
Delete Class の実装を見てみましょう
Delete method が実装されてる
Task Action で削除が実行されてる
Delete Class の
初期の使い方
まとめ
1. Gradle Clean Task が実行される
2. タスクに渡すクロージャの中からDelete
method で削除対象のファイル群を渡す
3. タスクが実行される時に以前渡したファイ
ル群をGradle API を呼び出して削除する
Task Closureの後に Task Action が呼び
出される ※ハマるかも
挑戦したいこと
Unit test もシュッと書いていい感じにしたい。
Thanks for
listening :D

More Related Content

Similar to Gradle task with kotlin

Android Studio 2.2の紹介@Google I/O 2016東京報告会
Android Studio 2.2の紹介@Google I/O 2016東京報告会Android Studio 2.2の紹介@Google I/O 2016東京報告会
Android Studio 2.2の紹介@Google I/O 2016東京報告会mokelab
 
Androidアプリ滞在時間の計測
Androidアプリ滞在時間の計測Androidアプリ滞在時間の計測
Androidアプリ滞在時間の計測Shigeki Yamato
 
Line Creators Studio Android With Kotlin
Line Creators Studio Android With KotlinLine Creators Studio Android With Kotlin
Line Creators Studio Android With KotlinLINE Corporation
 
「Camelog」Android開発秘話
「Camelog」Android開発秘話「Camelog」Android開発秘話
「Camelog」Android開発秘話Shoya Tsukada
 
Google mapとgps機能を使ってみた。
Google mapとgps機能を使ってみた。Google mapとgps機能を使ってみた。
Google mapとgps機能を使ってみた。Eiichi Tsuru
 
Gradle small tips for android
Gradle small tips for androidGradle small tips for android
Gradle small tips for android史也 久米
 
KotlinJSって正直どうなん
KotlinJSって正直どうなんKotlinJSって正直どうなん
KotlinJSって正直どうなんHiroshi Kikuchi
 
iアプリつくろうぜ!~20101020 DevLOVE Android勉強会~
iアプリつくろうぜ!~20101020 DevLOVE Android勉強会~iアプリつくろうぜ!~20101020 DevLOVE Android勉強会~
iアプリつくろうぜ!~20101020 DevLOVE Android勉強会~一法 山崎
 
2015/02/21 GDG神戸 Go on Android ハンズオン&もくもく会
2015/02/21 GDG神戸 Go on Android ハンズオン&もくもく会2015/02/21 GDG神戸 Go on Android ハンズオン&もくもく会
2015/02/21 GDG神戸 Go on Android ハンズオン&もくもく会Satoshi Noda
 
Android App Development with Gradle & Android Studio
Android App Development with Gradle & Android StudioAndroid App Development with Gradle & Android Studio
Android App Development with Gradle & Android StudioSoichiro Kashima
 
Android studio で行ってみよう!!
Android studio で行ってみよう!!Android studio で行ってみよう!!
Android studio で行ってみよう!!Kazuaki Ueda
 
ボクの開発スタイル
ボクの開発スタイルボクの開発スタイル
ボクの開発スタイルYuki Anzai
 
Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
 Sansan Tech Meetup Androidエンジニアが振り返る Google I/O   Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
Sansan Tech Meetup Androidエンジニアが振り返る Google I/O 健一 辰濱
 
Android StudioではじめるAndroidアプリケーション実践入門 先生:日高 正博
Android StudioではじめるAndroidアプリケーション実践入門 先生:日高 正博Android StudioではじめるAndroidアプリケーション実践入門 先生:日高 正博
Android StudioではじめるAndroidアプリケーション実践入門 先生:日高 正博schoowebcampus
 
僕がAndroid開発する時にちょっと便利だと思うtips
僕がAndroid開発する時にちょっと便利だと思うtips僕がAndroid開発する時にちょっと便利だと思うtips
僕がAndroid開発する時にちょっと便利だと思うtipsMasataka Kono
 
Jenkinsを使おうよ
Jenkinsを使おうよJenkinsを使おうよ
Jenkinsを使おうよYohei Oda
 
もう一度Kotlinの話をしよう #ndsmeetup4
もう一度Kotlinの話をしよう #ndsmeetup4もう一度Kotlinの話をしよう #ndsmeetup4
もう一度Kotlinの話をしよう #ndsmeetup4Yukiya Nakagawa
 
はてなにおける Android アプリのソフトウェアテスト
はてなにおける Android アプリのソフトウェアテストはてなにおける Android アプリのソフトウェアテスト
はてなにおける Android アプリのソフトウェアテストYu Nobuoka
 
テストがあればなんとかなる〜効率化までの道程〜
テストがあればなんとかなる〜効率化までの道程〜テストがあればなんとかなる〜効率化までの道程〜
テストがあればなんとかなる〜効率化までの道程〜Takao Sumitomo
 

Similar to Gradle task with kotlin (20)

Android Studio 2.2の紹介@Google I/O 2016東京報告会
Android Studio 2.2の紹介@Google I/O 2016東京報告会Android Studio 2.2の紹介@Google I/O 2016東京報告会
Android Studio 2.2の紹介@Google I/O 2016東京報告会
 
Androidアプリ滞在時間の計測
Androidアプリ滞在時間の計測Androidアプリ滞在時間の計測
Androidアプリ滞在時間の計測
 
Line Creators Studio Android With Kotlin
Line Creators Studio Android With KotlinLine Creators Studio Android With Kotlin
Line Creators Studio Android With Kotlin
 
「Camelog」Android開発秘話
「Camelog」Android開発秘話「Camelog」Android開発秘話
「Camelog」Android開発秘話
 
Google mapとgps機能を使ってみた。
Google mapとgps機能を使ってみた。Google mapとgps機能を使ってみた。
Google mapとgps機能を使ってみた。
 
Gradle small tips for android
Gradle small tips for androidGradle small tips for android
Gradle small tips for android
 
KotlinJSって正直どうなん
KotlinJSって正直どうなんKotlinJSって正直どうなん
KotlinJSって正直どうなん
 
iアプリつくろうぜ!~20101020 DevLOVE Android勉強会~
iアプリつくろうぜ!~20101020 DevLOVE Android勉強会~iアプリつくろうぜ!~20101020 DevLOVE Android勉強会~
iアプリつくろうぜ!~20101020 DevLOVE Android勉強会~
 
2015/02/21 GDG神戸 Go on Android ハンズオン&もくもく会
2015/02/21 GDG神戸 Go on Android ハンズオン&もくもく会2015/02/21 GDG神戸 Go on Android ハンズオン&もくもく会
2015/02/21 GDG神戸 Go on Android ハンズオン&もくもく会
 
Android App Development with Gradle & Android Studio
Android App Development with Gradle & Android StudioAndroid App Development with Gradle & Android Studio
Android App Development with Gradle & Android Studio
 
Android studio で行ってみよう!!
Android studio で行ってみよう!!Android studio で行ってみよう!!
Android studio で行ってみよう!!
 
ボクの開発スタイル
ボクの開発スタイルボクの開発スタイル
ボクの開発スタイル
 
Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
 Sansan Tech Meetup Androidエンジニアが振り返る Google I/O   Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
 
Android StudioではじめるAndroidアプリケーション実践入門 先生:日高 正博
Android StudioではじめるAndroidアプリケーション実践入門 先生:日高 正博Android StudioではじめるAndroidアプリケーション実践入門 先生:日高 正博
Android StudioではじめるAndroidアプリケーション実践入門 先生:日高 正博
 
僕がAndroid開発する時にちょっと便利だと思うtips
僕がAndroid開発する時にちょっと便利だと思うtips僕がAndroid開発する時にちょっと便利だと思うtips
僕がAndroid開発する時にちょっと便利だと思うtips
 
Jenkinsを使おうよ
Jenkinsを使おうよJenkinsを使おうよ
Jenkinsを使おうよ
 
もう一度Kotlinの話をしよう #ndsmeetup4
もう一度Kotlinの話をしよう #ndsmeetup4もう一度Kotlinの話をしよう #ndsmeetup4
もう一度Kotlinの話をしよう #ndsmeetup4
 
はてなにおける Android アプリのソフトウェアテスト
はてなにおける Android アプリのソフトウェアテストはてなにおける Android アプリのソフトウェアテスト
はてなにおける Android アプリのソフトウェアテスト
 
Edison勉強会20170130
Edison勉強会20170130Edison勉強会20170130
Edison勉強会20170130
 
テストがあればなんとかなる〜効率化までの道程〜
テストがあればなんとかなる〜効率化までの道程〜テストがあればなんとかなる〜効率化までの道程〜
テストがあればなんとかなる〜効率化までの道程〜
 

More from 史也 久米

Better Java なだけじゃない。Kotlin の思想と未来
Better Java なだけじゃない。Kotlin の思想と未来Better Java なだけじゃない。Kotlin の思想と未来
Better Java なだけじゃない。Kotlin の思想と未来史也 久米
 
Android app with google play developer api
Android app with google play developer api Android app with google play developer api
Android app with google play developer api 史也 久米
 
Aiをアプリに取り込む!
Aiをアプリに取り込む!Aiをアプリに取り込む!
Aiをアプリに取り込む!史也 久米
 
わくわく Msil 入門 LT
わくわく Msil 入門 LTわくわく Msil 入門 LT
わくわく Msil 入門 LT史也 久米
 
わくわく Msil 入門
わくわく Msil 入門わくわく Msil 入門
わくわく Msil 入門史也 久米
 
Xamarin + azure Mobile Apps
Xamarin + azure Mobile AppsXamarin + azure Mobile Apps
Xamarin + azure Mobile Apps史也 久米
 
Xamarin.iOSでspritekit
Xamarin.iOSでspritekitXamarin.iOSでspritekit
Xamarin.iOSでspritekit史也 久米
 

More from 史也 久米 (7)

Better Java なだけじゃない。Kotlin の思想と未来
Better Java なだけじゃない。Kotlin の思想と未来Better Java なだけじゃない。Kotlin の思想と未来
Better Java なだけじゃない。Kotlin の思想と未来
 
Android app with google play developer api
Android app with google play developer api Android app with google play developer api
Android app with google play developer api
 
Aiをアプリに取り込む!
Aiをアプリに取り込む!Aiをアプリに取り込む!
Aiをアプリに取り込む!
 
わくわく Msil 入門 LT
わくわく Msil 入門 LTわくわく Msil 入門 LT
わくわく Msil 入門 LT
 
わくわく Msil 入門
わくわく Msil 入門わくわく Msil 入門
わくわく Msil 入門
 
Xamarin + azure Mobile Apps
Xamarin + azure Mobile AppsXamarin + azure Mobile Apps
Xamarin + azure Mobile Apps
 
Xamarin.iOSでspritekit
Xamarin.iOSでspritekitXamarin.iOSでspritekit
Xamarin.iOSでspritekit
 

Gradle task with kotlin