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
ayatk
December 24, 2016
Programming
990
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
Press start. Python's next generation.
willingc
PRO
3
240
Hello, Hiroshima Geospatial Data! — Exploring DoboX with Python
ra0kley
0
110
Gmail/Google DriveをトリガーにAIエージェントを動かそう! / Run AI agents with Gmail/Google Drive as triggers!
har1101
2
450
Japan Community Day at Kubecon + CloudNativeCon Japan 2026: Learning Container Privilege Control by Building My Own Low-Level Container Runtime
ternbusty
1
170
How I Won Prize Money at a Hackathon Using Codex and Symphony Alpha
yasei_no_otoko
0
130
AI駆動開発にグラフDBを重ねてみた
satoshi256kbyte
0
220
S3 を使うアプリケーションをローカル完結で動かすことに全力を注いでみた / Running S3 Apps Offline
contour_gara
0
660
プロポーザルを書いてもらう
pvcresin
0
580
複数の Claude Code が"放置"されてしまう問題をCLI ダッシュボードを自作して解決した話
sumihiro3
1
740
AI Readyの正体はデータマネジメントだ メダリオン2.0の最前線
freee
PRO
0
420
「人を評価する AI」の設計と実装
ryoyanara
0
250
AI Engineeringは、AIプロダクトだけのものか? 〜AIがソフトウェアを作る時代の新しい当たり前〜 / No AI in your product. AI Engineering in your development.
rkaga
5
540
Featured
See All Featured
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
560
It's Worth the Effort
3n
188
29k
The Curse of the Amulet
leimatthew05
2
14k
BBQ
matthewcrist
89
10k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
970
What does AI have to do with Human Rights?
axbom
PRO
1
2.3k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
510
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.3k
A Soul's Torment
seathinner
6
3.5k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
450
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
65
56k
The Mindset for Success: Future Career Progression
greggifford
PRO
0
480
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 }
ศརͳπʔϧΛͬͯ ͬͱָΛ͠·͠ΐ͏!!