Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Android開発における自動化のすゝめ
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
ayatk
December 24, 2016
Programming
980
5
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Android開発における自動化のすゝめ
KIT LT #1で発表したスライドです
ayatk
December 24, 2016
More Decks by ayatk
See All by ayatk
お金🤑をかけずにフィードバックフォームを構築しちゃう💪お話
ayatk
2
1.2k
チーム開発 @ GitHub
ayatk
2
570
Other Decks in Programming
See All in Programming
Spring Security 実践 ─ GraphQL APIで実務に役立つ 認証・認可 を学ぶ
wagyu
0
250
Language Server 使ってる? 〜VSCode と Zed の場合〜 / Are you using a Language Server? ~For VS Code and Zed~
handlename
0
790
Oxlintのカスタムルールの現況
syumai
6
1.1k
LLMによるContent Moderationの本番運用の裏側と品質担保への挑戦
suikabar
3
710
並列実装の現場、2ヶ月間実務でAIを使い倒したAIもPCも私も限界が近い
ming_ayami
0
130
肥大化するレガシーコードに立ち向かうためのインターフェース分離と依存の逆転 / JJUG CCC 2026 Spring
hirokunimaeta
0
570
Dataformのリポジトリを立ち上げるときにまずやること / dataform-day0-2026
snhryt
0
170
[2026年度第1回ORセミナー] 計画最適化ベンチャーと競技プログラミング人材
terryu16
0
270
生成AI時代にこそ効くGo | Why Go Works in the Age of Generative AI
mom0tomo
8
3.3k
Go1.27で導入されるジェネリクスメソッドでできること
mackee
0
140
作って学ぶ、 JSX (TSX) ランタイムの基本
syumai
7
1.6k
エージェンティックRAGにAWSで入門しよう!
har1101
8
1.7k
Featured
See All Featured
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
160
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
330
Chasing Engaging Ingredients in Design
codingconduct
0
220
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
200
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
600
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
1.7k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
580
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
290
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.2k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.8k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
The SEO Collaboration Effect
kristinabergwall1
1
490
Transcript
Android։ൃʹ͓͚Δ ࣗಈԽͷ͢ʍΊ @ayatk 2016-12-23@KIT_LT #1
ࣗݾհ Twitter: @AyaTokikaze ͬͯΔ͜ͱ: • αʔόʔαΠυͩͬͨΓWebΞϓϦͩͬͨΓ ͳΜͰ͢Δ • GolangͰίϚϯυϥΠϯπʔϧॻ͍ͯ·ͨ͠
Կಉ͜͡ͱ͍ͬͯΔͳʙ ͬͯࢥ͏࣌͋Γ·ͤΜ͔?
ྫ͑
OSSϥΠϒϥϦͷ ϥΠηϯεཧ
ϥΠϒϥϦΛՃ͢Δ ɹɹɹɹɹɹɹ↘ ɹɹɹɹɹϥΠηϯεจΛίϐϖ ɹɹɹɹɹɹɹ⾫ ϑΝΠϧʹషΓ͚ ɹɹɹɹɹɹ⾪ ɹɹɹɹɹΊΜͲ͍͘͞
ϥΠϒϥϦΛՃ͢Δ ɹɹɹɹɹɹɹ⾪ ɹɹɹɹɹϥΠηϯεจΛίϐϖ ɹɹɹɹɹɹɹ⾫ ϑΝΠϧʹషΓ͚ ɹɹɹɹɹɹ⾪ ɹɹɹɹɹΊΜͲ͍͘͞
ϥΠϒϥϦΛՃ͢Δ ɹɹɹɹɹɹɹ⾪ ɹɹɹɹɹϥΠηϯεจΛίϐϖ ɹɹɹɹɹɹɹ⾫ ϑΝΠϧʹషΓ͚ ɹɹɹɹɹɹ⾪ ɹɹɹɹɹΊΜͲ͍͘͞
ϥΠϒϥϦΛՃ͢Δ ɹɹɹɹɹɹɹ⾪ ɹɹɹɹɹϥΠηϯεจΛίϐϖ ɹɹɹɹɹɹɹ⾫ ϑΝΠϧʹషΓ͚ ɹɹɹɹɹɹ⾪ ɹɹɹɹɹɹΊΜͲ͍͘͞
ʊਓਓਓਓਓʊ ʼɹͭΒ͍ɹʻ ʉ^Y^Y^Y^ʉ
ࣗಈԽ͠·͠ΐ͏
None
ͳΜͰɹɹɹɹɹɹɹʁ • AndroidΞϓϦΛϏϧυ͢Δ࣌ઈରʹ͏ (ࠓ࣌AntͳΜ͔ͬͯΔਓ͍·ͤΜΑͶ…?) • εΫϦϓτΛΊ୭Ͱ(JVMڥ͕͋Ε) Ͳ͜Ͱಉ͡ํ๏ͰϏϧυ͕Ͱ͖Δ • ඞཁͳϥΠϒϥϦউखʹऔ͖ͬͯͯ͘ΕΔ
Android։ൃΛࣗಈԽ͢Δʹ ࠷ߴͷπʔϧ
• versionCodeͷࣗಈੜ • cookpad/license-tools-plugin • Triple-T/gradle-play-publisher • ͓·͚
• versionCodeͷࣗಈੜ • cookpad/license-tools-plugin • Triple-T/gradle-play-publisher • ͓·͚
• versionCodeͷΠϯΫϦϝϯτΛΕͯPlay Storeͷ apk͕ߋ৽Ͱ͖ͳ͍… • ຖճΞοϓσʔτ͢ΔͨͼʹversionName versionCodeߋ৽͢ΔͷΊΜͲ͍͘͞ ʔʼ versionNameΛߋ৽ͨ͠ΒversionCode ɹɹ
ΛࣗಈͰߋ৽ͯ͘͠ΕͨΒศརͩΑͶ? versionCodeͷࣗಈੜ
• versionCodeͷΠϯΫϦϝϯτΛΕͯPlay Storeͷ apk͕ߋ৽Ͱ͖ͳ͍… • ຖճΞοϓσʔτ͢ΔͨͼʹversionName versionCodeߋ৽͢ΔͷΊΜͲ͍͘͞ ʔʼ versionNameΛߋ৽ͨ͠ΒversionCode ɹɹ
ΛࣗಈͰߋ৽ͯ͘͠ΕͨΒศརͩΑͶ? versionCodeͷࣗಈੜ
• versionCodeͷΠϯΫϦϝϯτΛΕͯPlay Storeͷ apk͕ߋ৽Ͱ͖ͳ͍… • ຖճΞοϓσʔτ͢ΔͨͼʹversionName versionCodeߋ৽͢ΔͷΊΜͲ͍͘͞… ʔʼ versionNameΛߋ৽ͨ͠ΒversionCode ɹɹ
ΛࣗಈͰߋ৽ͯ͘͠ΕͨΒศརͩΑͶ? versionCodeͷࣗಈੜ
versionCodeͷࣗಈੜ def VERSION = ‘1.2.3’ android { defaultConfig { versionName
VERSION versionCode buildVersionCode() // => 1020300 } } def buildVersionCode() { def (major, minor, patch) = VERSION.tokenize(‘.’) (major*1000000) + (minor*10000) + (patch*100) } https://blog.jayway.com/2015/03/11/automatic-versioncode-generation-in-android-gradle/
• versionCodeͷࣗಈੜ • cookpad/license-tools-plugin • Triple-T/gradle-play-publisher • ͓·͚
• GradleͷdependenciesΛಡΈࠐΜͰ ϥΠηϯεจ͕ॻ͔ΕͨHTMLΛੜ͢Δ • ϥΠϒϥϦΛՃ͢ΔͱϏϧυ࣌ʹϥΠηϯε ͷνΣοΫΛͯ͘͠ΕΔ ʔʼ ख࡞ۀͰϥΠηϯεΛཧ͠ͳ͍͍ͯ͘!!!! cookpad/license-tools-plugin
• versionCodeͷࣗಈੜ • cookpad/license-tools-plugin • Triple-T/gradle-play-publisher • ͓·͚
Triple-T/gradle-play-publisher • Gradle͔ΒGoogle Play Developer Consoleʹ apkΛσϓϩΠͰ͖ΔΑ • Ϗϧυ ->
Developer ConsoleΛ։͘ -> Ξοϓ ϩʔυͱ͍͏ྲྀΕΛίϚϯυΆͪʔͰऴΘΔ ʔʼ खಈΑΓѹతʹਃָ͕!!
• versionCodeͷࣗಈੜ • cookpad/license-tools-plugin • Triple-T/gradle-play-publisher • ͓·͚
͓·͚ • Android StudioͷϏϧυͰΦϓγϣϯʹ “-Pandroid.injected.invoked.from.ide=true” ͕͞ΕΔͷͰɺίϚϯυϥΠϯͱAndroid StudioͷϏϧυͷॲཧ͕͚ΕΔ def isIdeBuild =
project.properties[‘android.injected.invoked.from.ide'] if (isIdeBuild == null || isIdeBuild.equalsIgnoreCase("true")) { // do something for ide build }
ศརͳπʔϧΛͬͯ ͬͱָΛ͠·͠ΐ͏!!