Soumettre la recherche
Mettre en ligne
[Android] モジュール管理で ビルド高速化!
•
4 j'aime
•
2,544 vues
ichigotake .
Suivre
モジュールの管理方法の工夫でAnroidのビルド時間を数十秒から10-20秒くらいへ減らす
Lire moins
Lire la suite
Technologie
Signaler
Partager
Signaler
Partager
1 sur 24
Télécharger maintenant
Télécharger pour lire hors ligne
Recommandé
UnitTest
UnitTest
Yuki Matsumura
Hello. Continuous Integration
Hello. Continuous Integration
Yuki Matsumura
Wantedlyのテスト事情
Wantedlyのテスト事情
Takao Sumitomo
JUnit5とAndroidのテスト
JUnit5とAndroidのテスト
Hiroshi Kikuchi
Dependency injection
Dependency injection
Yuki Matsumura
Jenkinsを用いたAndroidアプリビルド作業効率化
Jenkinsを用いたAndroidアプリビルド作業効率化
Kenichi Kambara
Google Codelabsをやってみた
Google Codelabsをやってみた
furusin
Wantedly - 世界一"いいね!"される 求人サイトの作り方
Wantedly - 世界一"いいね!"される 求人サイトの作り方
Yoshinori Kawasaki
Recommandé
UnitTest
UnitTest
Yuki Matsumura
Hello. Continuous Integration
Hello. Continuous Integration
Yuki Matsumura
Wantedlyのテスト事情
Wantedlyのテスト事情
Takao Sumitomo
JUnit5とAndroidのテスト
JUnit5とAndroidのテスト
Hiroshi Kikuchi
Dependency injection
Dependency injection
Yuki Matsumura
Jenkinsを用いたAndroidアプリビルド作業効率化
Jenkinsを用いたAndroidアプリビルド作業効率化
Kenichi Kambara
Google Codelabsをやってみた
Google Codelabsをやってみた
furusin
Wantedly - 世界一"いいね!"される 求人サイトの作り方
Wantedly - 世界一"いいね!"される 求人サイトの作り方
Yoshinori Kawasaki
あるゲームアプリケーションの構成とアップデートサイクル
あるゲームアプリケーションの構成とアップデートサイクル
Kentaro Iizuka
エンジニアがプロダクト育成を始めるまでにやったこと
エンジニアがプロダクト育成を始めるまでにやったこと
Takao Sumitomo
Androidリリース作業の効率化(2)
Androidリリース作業の効率化(2)
Kenichi Kambara
Jenkins導入ライブ
Jenkins導入ライブ
Hiasyoshi Suehiro
Dockerで始める Java EE アプリケーション開発 for JJUG CCC 2017
Dockerで始める Java EE アプリケーション開発 for JJUG CCC 2017
Kohei Saito
Screenshots Test spoon + espresso
Screenshots Test spoon + espresso
Shinobu Okano
SEゼミ2015 - OSS Hack Weekend - 1日目のまとめ
SEゼミ2015 - OSS Hack Weekend - 1日目のまとめ
Kouhei Sutou
Go言語によるWebアプリケーション開発
Go言語によるWebアプリケーション開発
エンジニア勉強会 エスキュービズム
DroidKaigiアプリをSpoonで全画面スクショするぞい\(^o^)/
DroidKaigiアプリをSpoonで全画面スクショするぞい\(^o^)/
Shinobu Okano
5 年続く 「はてなブックマーク」 アプリを継続開発する技術
5 年続く 「はてなブックマーク」 アプリを継続開発する技術
Yu Nobuoka
Gradle PluginとTwitterとズン ドコ キ・ヨ・シ!
Gradle PluginとTwitterとズン ドコ キ・ヨ・シ!
Shinobu Okano
AndroidJUnitRunner で JUnit 4 形式のテストに移行
AndroidJUnitRunner で JUnit 4 形式のテストに移行
Yu Nobuoka
Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
健一 辰濱
Visual Studio App CenterでGitHubのPull Requestを効率よく対応しよう
Visual Studio App CenterでGitHubのPull Requestを効率よく対応しよう
Shinya Nakajima
僕がAndroid開発する時にちょっと便利だと思うtips
僕がAndroid開発する時にちょっと便利だと思うtips
Masataka Kono
兄弟アプリのロジック共通化とビルド高速化の実験
兄弟アプリのロジック共通化とビルド高速化の実験
ichigotake .
Android StudioではじめるAndroidアプリケーション実践入門 先生:日高 正博
Android StudioではじめるAndroidアプリケーション実践入門 先生:日高 正博
schoowebcampus
DevLOVE広島 第1回 その改善いつするの?
DevLOVE広島 第1回 その改善いつするの?
Kazuya Matsubara
Device Farm を使ったスマホアプリの自動テスト
Device Farm を使ったスマホアプリの自動テスト
健一 辰濱
Android Lintを覚えてベテラン開発者に追いつこう #ndsmeetup
Android Lintを覚えてベテラン開発者に追いつこう #ndsmeetup
Yukiya Nakagawa
(Unityよくわかってない人のための)なんとなくわかるかもしれないAssetBundle
(Unityよくわかってない人のための)なんとなくわかるかもしれないAssetBundle
Yusuke HIDESHIMA
言語アップデート -Scala編-
言語アップデート -Scala編-
Kota Mizushima
Contenu connexe
Tendances
あるゲームアプリケーションの構成とアップデートサイクル
あるゲームアプリケーションの構成とアップデートサイクル
Kentaro Iizuka
エンジニアがプロダクト育成を始めるまでにやったこと
エンジニアがプロダクト育成を始めるまでにやったこと
Takao Sumitomo
Androidリリース作業の効率化(2)
Androidリリース作業の効率化(2)
Kenichi Kambara
Jenkins導入ライブ
Jenkins導入ライブ
Hiasyoshi Suehiro
Dockerで始める Java EE アプリケーション開発 for JJUG CCC 2017
Dockerで始める Java EE アプリケーション開発 for JJUG CCC 2017
Kohei Saito
Screenshots Test spoon + espresso
Screenshots Test spoon + espresso
Shinobu Okano
SEゼミ2015 - OSS Hack Weekend - 1日目のまとめ
SEゼミ2015 - OSS Hack Weekend - 1日目のまとめ
Kouhei Sutou
Go言語によるWebアプリケーション開発
Go言語によるWebアプリケーション開発
エンジニア勉強会 エスキュービズム
DroidKaigiアプリをSpoonで全画面スクショするぞい\(^o^)/
DroidKaigiアプリをSpoonで全画面スクショするぞい\(^o^)/
Shinobu Okano
5 年続く 「はてなブックマーク」 アプリを継続開発する技術
5 年続く 「はてなブックマーク」 アプリを継続開発する技術
Yu Nobuoka
Gradle PluginとTwitterとズン ドコ キ・ヨ・シ!
Gradle PluginとTwitterとズン ドコ キ・ヨ・シ!
Shinobu Okano
AndroidJUnitRunner で JUnit 4 形式のテストに移行
AndroidJUnitRunner で JUnit 4 形式のテストに移行
Yu Nobuoka
Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
健一 辰濱
Visual Studio App CenterでGitHubのPull Requestを効率よく対応しよう
Visual Studio App CenterでGitHubのPull Requestを効率よく対応しよう
Shinya Nakajima
僕がAndroid開発する時にちょっと便利だと思うtips
僕がAndroid開発する時にちょっと便利だと思うtips
Masataka Kono
兄弟アプリのロジック共通化とビルド高速化の実験
兄弟アプリのロジック共通化とビルド高速化の実験
ichigotake .
Android StudioではじめるAndroidアプリケーション実践入門 先生:日高 正博
Android StudioではじめるAndroidアプリケーション実践入門 先生:日高 正博
schoowebcampus
DevLOVE広島 第1回 その改善いつするの?
DevLOVE広島 第1回 その改善いつするの?
Kazuya Matsubara
Device Farm を使ったスマホアプリの自動テスト
Device Farm を使ったスマホアプリの自動テスト
健一 辰濱
Android Lintを覚えてベテラン開発者に追いつこう #ndsmeetup
Android Lintを覚えてベテラン開発者に追いつこう #ndsmeetup
Yukiya Nakagawa
Tendances
(20)
あるゲームアプリケーションの構成とアップデートサイクル
あるゲームアプリケーションの構成とアップデートサイクル
エンジニアがプロダクト育成を始めるまでにやったこと
エンジニアがプロダクト育成を始めるまでにやったこと
Androidリリース作業の効率化(2)
Androidリリース作業の効率化(2)
Jenkins導入ライブ
Jenkins導入ライブ
Dockerで始める Java EE アプリケーション開発 for JJUG CCC 2017
Dockerで始める Java EE アプリケーション開発 for JJUG CCC 2017
Screenshots Test spoon + espresso
Screenshots Test spoon + espresso
SEゼミ2015 - OSS Hack Weekend - 1日目のまとめ
SEゼミ2015 - OSS Hack Weekend - 1日目のまとめ
Go言語によるWebアプリケーション開発
Go言語によるWebアプリケーション開発
DroidKaigiアプリをSpoonで全画面スクショするぞい\(^o^)/
DroidKaigiアプリをSpoonで全画面スクショするぞい\(^o^)/
5 年続く 「はてなブックマーク」 アプリを継続開発する技術
5 年続く 「はてなブックマーク」 アプリを継続開発する技術
Gradle PluginとTwitterとズン ドコ キ・ヨ・シ!
Gradle PluginとTwitterとズン ドコ キ・ヨ・シ!
AndroidJUnitRunner で JUnit 4 形式のテストに移行
AndroidJUnitRunner で JUnit 4 形式のテストに移行
Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
Visual Studio App CenterでGitHubのPull Requestを効率よく対応しよう
Visual Studio App CenterでGitHubのPull Requestを効率よく対応しよう
僕がAndroid開発する時にちょっと便利だと思うtips
僕がAndroid開発する時にちょっと便利だと思うtips
兄弟アプリのロジック共通化とビルド高速化の実験
兄弟アプリのロジック共通化とビルド高速化の実験
Android StudioではじめるAndroidアプリケーション実践入門 先生:日高 正博
Android StudioではじめるAndroidアプリケーション実践入門 先生:日高 正博
DevLOVE広島 第1回 その改善いつするの?
DevLOVE広島 第1回 その改善いつするの?
Device Farm を使ったスマホアプリの自動テスト
Device Farm を使ったスマホアプリの自動テスト
Android Lintを覚えてベテラン開発者に追いつこう #ndsmeetup
Android Lintを覚えてベテラン開発者に追いつこう #ndsmeetup
En vedette
(Unityよくわかってない人のための)なんとなくわかるかもしれないAssetBundle
(Unityよくわかってない人のための)なんとなくわかるかもしれないAssetBundle
Yusuke HIDESHIMA
言語アップデート -Scala編-
言語アップデート -Scala編-
Kota Mizushima
2016 Android × Scala @ScalaMatsuri2016
2016 Android × Scala @ScalaMatsuri2016
Yasuyuki Sugitani
Androidアプリ開発で活躍必至!? ビルドツールGradle
Androidアプリ開発で活躍必至!? ビルドツールGradle
amayaw9
AndroidでScalaを使う際の問題点と対策
AndroidでScalaを使う際の問題点と対策
Mogi Isamu
Webプログラマのための Scala 入門勉強会 @ 渋谷 12/7
Webプログラマのための Scala 入門勉強会 @ 渋谷 12/7
Hitoshi Asai
ScalaプログラマのためのHaskell入門
ScalaプログラマのためのHaskell入門
Yasuaki Takebe
AndroidStudioとGradleを利用したScala言語によるAndroidアプリの開発
AndroidStudioとGradleを利用したScala言語によるAndroidアプリの開発
Mogi Isamu
15分でざっくり分かるScala入門
15分でざっくり分かるScala入門
SatoYu1ro
Distributed Compiler Icecc
Distributed Compiler Icecc
SZ Lin
ScalaでAndroidアプリ開発
ScalaでAndroidアプリ開発
papamitra
Android組み込み開発テキスト pandaboard es編
Android組み込み開発テキスト pandaboard es編
OESF Education
Scala初心者がPlay/ScalaでロックなWebアプリを作ったお話
Scala初心者がPlay/ScalaでロックなWebアプリを作ったお話
omi end
Scala@SmartNews_20150221
Scala@SmartNews_20150221
Shigekazu Takei
Scala@SmartNews AdFrontend を Scala で書いた話
Scala@SmartNews AdFrontend を Scala で書いた話
Keiji Muraishi
磯野ー!関数型言語やろうぜー!
磯野ー!関数型言語やろうぜー!
Ra Zon
Scala勉強会 初心者向けハンズオン前編
Scala勉強会 初心者向けハンズオン前編
takeuchi-tk
Scalaで学ぶ関数型言語超入門
Scalaで学ぶ関数型言語超入門
yujiro_t
Java エンジニアチームが始めやすい Scala コーディングスタイル #ichigayageek
Java エンジニアチームが始めやすい Scala コーディングスタイル #ichigayageek
Kazuhiro Sera
[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24
[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24
Kazuhiro Sera
En vedette
(20)
(Unityよくわかってない人のための)なんとなくわかるかもしれないAssetBundle
(Unityよくわかってない人のための)なんとなくわかるかもしれないAssetBundle
言語アップデート -Scala編-
言語アップデート -Scala編-
2016 Android × Scala @ScalaMatsuri2016
2016 Android × Scala @ScalaMatsuri2016
Androidアプリ開発で活躍必至!? ビルドツールGradle
Androidアプリ開発で活躍必至!? ビルドツールGradle
AndroidでScalaを使う際の問題点と対策
AndroidでScalaを使う際の問題点と対策
Webプログラマのための Scala 入門勉強会 @ 渋谷 12/7
Webプログラマのための Scala 入門勉強会 @ 渋谷 12/7
ScalaプログラマのためのHaskell入門
ScalaプログラマのためのHaskell入門
AndroidStudioとGradleを利用したScala言語によるAndroidアプリの開発
AndroidStudioとGradleを利用したScala言語によるAndroidアプリの開発
15分でざっくり分かるScala入門
15分でざっくり分かるScala入門
Distributed Compiler Icecc
Distributed Compiler Icecc
ScalaでAndroidアプリ開発
ScalaでAndroidアプリ開発
Android組み込み開発テキスト pandaboard es編
Android組み込み開発テキスト pandaboard es編
Scala初心者がPlay/ScalaでロックなWebアプリを作ったお話
Scala初心者がPlay/ScalaでロックなWebアプリを作ったお話
Scala@SmartNews_20150221
Scala@SmartNews_20150221
Scala@SmartNews AdFrontend を Scala で書いた話
Scala@SmartNews AdFrontend を Scala で書いた話
磯野ー!関数型言語やろうぜー!
磯野ー!関数型言語やろうぜー!
Scala勉強会 初心者向けハンズオン前編
Scala勉強会 初心者向けハンズオン前編
Scalaで学ぶ関数型言語超入門
Scalaで学ぶ関数型言語超入門
Java エンジニアチームが始めやすい Scala コーディングスタイル #ichigayageek
Java エンジニアチームが始めやすい Scala コーディングスタイル #ichigayageek
[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24
[Japanese] Skinny Framework で始める Scala #jjug_ccc #ccc_r24
Similaire à [Android] モジュール管理で ビルド高速化!
Potatotips 5 bakusoku_compile
Potatotips 5 bakusoku_compile
ichigotake .
Google Product
Google Product
Daisuke Sugai
Google Glassでできること XE12版 最新開発情報 Mirror API & GDK
Google Glassでできること XE12版 最新開発情報 Mirror API & GDK
Masahiro Wakame
オープンセミナー香川2012 LT
オープンセミナー香川2012 LT
Kouta Imanaka
リモート・スマホ・レンタル(第2回 Androidテスト祭り)
リモート・スマホ・レンタル(第2回 Androidテスト祭り)
NTT Resonant Technology Inc.
Custom lintcheckをつくろう
Custom lintcheckをつくろう
Makoto Yamazaki
Yapc2012資料
Yapc2012資料
matsuo kenji
Device Farm を使ったスマホアプリの自動テスト
Device Farm を使ったスマホアプリの自動テスト
健一 辰濱
Androidアプリ滞在時間の計測
Androidアプリ滞在時間の計測
Shigeki Yamato
iOS豆知識ver0.0.5
iOS豆知識ver0.0.5
ppengotsu Name
ユーザーを待たせないためにできること
ユーザーを待たせないためにできること
Tomoaki Imai
スマートフォンアプリの テスト自動化をはじめよう
スマートフォンアプリの テスト自動化をはじめよう
Koji Hasegawa
iPhone/Android アプリをまとめて省エネ開発する技術
iPhone/Android アプリをまとめて省エネ開発する技術
vaccho
Github Actionsで始めるROS/ROS2のCI
Github Actionsで始めるROS/ROS2のCI
Atsuki Yokota
「最強」のチームを「造る」技術基盤 ディレクターズ・カット
「最強」のチームを「造る」技術基盤 ディレクターズ・カット
Rakuten Group, Inc.
システム開発を前進させるためのGradle導入法
システム開発を前進させるためのGradle導入法
Takuma Watabiki
Pivotal Trackerでアジャイルなプロジェクト管理
Pivotal Trackerでアジャイルなプロジェクト管理
You&I
Android studio で行ってみよう!!
Android studio で行ってみよう!!
Kazuaki Ueda
日本androidの会 中国支部 29回勉強会 github
日本androidの会 中国支部 29回勉強会 github
Tomohiko Himura
Jenkinsを使おうよ
Jenkinsを使おうよ
Yohei Oda
Similaire à [Android] モジュール管理で ビルド高速化!
(20)
Potatotips 5 bakusoku_compile
Potatotips 5 bakusoku_compile
Google Product
Google Product
Google Glassでできること XE12版 最新開発情報 Mirror API & GDK
Google Glassでできること XE12版 最新開発情報 Mirror API & GDK
オープンセミナー香川2012 LT
オープンセミナー香川2012 LT
リモート・スマホ・レンタル(第2回 Androidテスト祭り)
リモート・スマホ・レンタル(第2回 Androidテスト祭り)
Custom lintcheckをつくろう
Custom lintcheckをつくろう
Yapc2012資料
Yapc2012資料
Device Farm を使ったスマホアプリの自動テスト
Device Farm を使ったスマホアプリの自動テスト
Androidアプリ滞在時間の計測
Androidアプリ滞在時間の計測
iOS豆知識ver0.0.5
iOS豆知識ver0.0.5
ユーザーを待たせないためにできること
ユーザーを待たせないためにできること
スマートフォンアプリの テスト自動化をはじめよう
スマートフォンアプリの テスト自動化をはじめよう
iPhone/Android アプリをまとめて省エネ開発する技術
iPhone/Android アプリをまとめて省エネ開発する技術
Github Actionsで始めるROS/ROS2のCI
Github Actionsで始めるROS/ROS2のCI
「最強」のチームを「造る」技術基盤 ディレクターズ・カット
「最強」のチームを「造る」技術基盤 ディレクターズ・カット
システム開発を前進させるためのGradle導入法
システム開発を前進させるためのGradle導入法
Pivotal Trackerでアジャイルなプロジェクト管理
Pivotal Trackerでアジャイルなプロジェクト管理
Android studio で行ってみよう!!
Android studio で行ってみよう!!
日本androidの会 中国支部 29回勉強会 github
日本androidの会 中国支部 29回勉強会 github
Jenkinsを使おうよ
Jenkinsを使おうよ
Plus de ichigotake .
[Android] CI環境についてぼんやり考えてること
[Android] CI環境についてぼんやり考えてること
ichigotake .
[Android]Fragmentとのつきあい方を考える
[Android]Fragmentとのつきあい方を考える
ichigotake .
android_on_groovy
android_on_groovy
ichigotake .
[Android]趣味プログラマーな非エンジニアにアプリ開発を教える
[Android]趣味プログラマーな非エンジニアにアプリ開発を教える
ichigotake .
近況報告と最近のAndroidニュース
近況報告と最近のAndroidニュース
ichigotake .
2013 09-28-yoshinani
2013 09-28-yoshinani
ichigotake .
Hachiojipm #23
Hachiojipm #23
ichigotake .
Plus de ichigotake .
(7)
[Android] CI環境についてぼんやり考えてること
[Android] CI環境についてぼんやり考えてること
[Android]Fragmentとのつきあい方を考える
[Android]Fragmentとのつきあい方を考える
android_on_groovy
android_on_groovy
[Android]趣味プログラマーな非エンジニアにアプリ開発を教える
[Android]趣味プログラマーな非エンジニアにアプリ開発を教える
近況報告と最近のAndroidニュース
近況報告と最近のAndroidニュース
2013 09-28-yoshinani
2013 09-28-yoshinani
Hachiojipm #23
Hachiojipm #23
Dernier
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
sugiuralab
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Yuma Ohgami
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
danielhu54
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
taisei2219
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
Toru Tamaki
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
Ryo Sasaki
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
iPride Co., Ltd.
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
Toru Tamaki
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
Toru Tamaki
Dernier
(9)
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
[Android] モジュール管理で ビルド高速化!
1.
[Android] モジュール管理で ビルド高速化! ! @ichigotake ! #potatotips 5
2.
Profile • name: @ichigotake •
hoby: 2013年夏頃からAndroidアプリ開発 ! • work: スタディプラス株式会社
3.
注意事項 • この実験は全て構想段階もしくは模索中のもの • まだまだ検証不足(
先週から開始 • gradle-android-plugin の仕様・バグを掴んでい ないとハマるリスクがとても高い • 検証の経過報告と思ってください
4.
Androidアプリ開発の悩み ! • 巨大ではなくてもビルド時間がかる • すぐに30秒越え •
つらい • ツラい・つらい……
5.
検証のきっかけ • ビルド時間を短くしたい!!!! • LogCatの追記で1分も待たされる… •
ProductFlavors の模索時に気付きを得る • ???「ライブラリのコンパイル速いよね」
6.
試しにアプリケーションプロジェクトを ライブラリ化してみよう!!!!
7.
まずは結果から assembleDebugの実行時間 0秒 15秒 30秒 45秒 60秒 大きいアプリ (12,000行 リソース/依存多) そこそこのアプリ (7,000行) 小さいアプリ (3,000行) 8秒10秒12秒 30秒 40秒 60秒 Before After
8.
前提条件 • gradle-android-plugin 0.8.3
( + AS 0.4.6 • assembleBuild を通す事のみを確認 (アプリは起動しない • 試行ケース・回数は少なめ • 実験結果はあくまで理論値
9.
検証した事 1. 既存アプリを丸ごとライブラリ化 - apply
plugin: android' +apply plugin: android-library' ! 2. mavenLocal化 ! $ ./gradlew :App:uploadArchives # /repository へ 3. 新アプリモジュール内はAndroidManifestのみ
10.
言いたい事は1つ
11.
構成イメージ /ProjectRoot /App # dependencies
{ compile ${stock} } /Stock # アプリのソース/リソースを詰めたライブラリ /repository # /Stock のアップロード先 mavenLocal() で /repository を追加しておく
12.
何がダメだったのか アプリケーションプロジェクトでは… • 毎回 mergeResource,
preDexCompile を実行 • この2つが一番のボトルネック • ライブラリは clean しない限り1回だけ実行?
13.
効能 コードをいじるためのコストが少し増える • レガシー資産を凍結する仕組みとして • 処理の共通化・汎用化への意識向上 •
注) デメリットと表裏一体
14.
考慮すべき事 その1 • Activityはライブラリ化しない •
いわゆるコントローラを楽に編集出来ると小回り 利く • 密結合度が高いならI/Fの抽出などしてみる • 自身のモジュール内に置かないとダメなモノもある • AndroidManifestで参照する R.* など
15.
考慮すべき事 その2 既存コードの修正が必要な場合も • ライブラリでは
R.* が定数でなくなる • R.* はアノテーションの引数・case文に使えない • IDEで switch文をif-else に変換しよう
16.
考慮すべき事 その3 • 毎回実行されるタスクのコストを下げる •
アプリモジュールにモノを置かない工夫 • モジュール の include を増やさない • 依存でcompile projectを使わない工夫
17.
考慮すべき事 その4 1. いちいちuploadArchivesやるのはめんどう! 2.
作業中だけ作業用モジュールで 3. fixしたらライブラリモジュールへ など、運用の一例として。
18.
考慮すべき事 そのn 細かい注意点はまだまだ他にも…!! (5分でまとめるには多すぎる…)
19.
考慮すべき事 まとめ • アプリモジュールは「今作業してるもの」のみに すると速くなる •
用意,運用の手間とビルド時間短縮の費用対効果 • スムーズに移行出来るか,運用で混乱させないか
20.
実験対象の実測値は? • でかいものは依存が複雑で難しい • 各種罠と複雑な運用を避けると… 60秒
-> 2,30秒 くらいにはなりそう(未検証/予測値
21.
そもそも… コード量を減らす,汎用処理はライブラリ化などを 実践していればこの実験も工夫もいらないはず…
22.
新規or小さい規模なら… • モジュール内に置かないスタイルへの移行はそこ まで苦にならないはず • あわよくば独自汎用ライブラリも充実…するか も
23.
• 後日 検証結果をまとめて公開します •
おおよそ罠と回避策は見つかった
24.
Best, :)
Télécharger maintenant