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
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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
言葉の格闘技のススメ~紙とペンと言葉から始める、キャリアの描き方~
progresscicada
2
140
PostgreSQL 18で考えるUUID主キー
kazuhiro1982
0
460
komatsuna「分散システムにおけるバグ分析手法」
komatsunaqa
0
240
型も通る、synthも通る、それでも危ない 〜AIのCDKの権限とコストを機械で検証する〜 / It Passes Type Checks, It Passes Synth Checks, but It’s Still Risky — Automatically Verifying Permissions and Costs in AI’s CDK —
seike460
PRO
1
540
【SRE NEXT 2026 Lunch Session】一人目専任SREの立ち上げを加速する ― AIと進めたオンボーディングで2分を0.04秒にした話
pkshadeck
PRO
0
3.5k
AWS CDK を「作」ってみた 〜フルスクラッチで見えた CDK の裏側〜 / aws-cdk-from-scratch
gotok365
3
2.8k
アルゴリズムは何を圧縮しているのか ─ Haskell から育った「圧縮代数」というメンタルモデル
naoya
16
3.9k
OpenSpecのproposalにbrainstormingを持たせてみた
tigertora7571
1
200
「人を評価する AI」の設計と実装
ryoyanara
0
170
仕様駆動開発へのトライを機に チームに適合する手法を模索し続けている話
freee
PRO
0
440
Terraform標準の組織で AWS CDKをどう使うか
mu7889yoon
1
490
ITヒヤリハットを整理してみた ~ライフサイクルと原因から考える再発防止策~
koukimiura
1
140
Featured
See All Featured
The untapped power of vector embeddings
frankvandijk
2
1.8k
We Have a Design System, Now What?
morganepeng
55
8.3k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
290
Deep Space Network (abreviated)
tonyrice
0
250
Google's AI Overviews - The New Search
badams
0
1.1k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
67k
Navigating Team Friction
lara
192
16k
Skip the Path - Find Your Career Trail
mkilby
1
180
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.3k
GraphQLとの向き合い方2022年版
quramy
50
15k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.8k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
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 }
ศརͳπʔϧΛͬͯ ͬͱָΛ͠·͠ΐ͏!!