Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Android開発における自動化のすゝめ
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
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
大喜利で理解するLLM as a Judge / Understanding LLM-as-a-Judge through Ogiri
rockname
0
150
UPDATE をやめる — EF Core でマスタをバージョン管理する
panda728
PRO
0
290
setup-vp GitLab対応の裏側
naokihaba
0
120
App Storeの外へ──日本のiOSサイドローディング入門 for iOSDC Japan 2026
yuukiw00w
0
230
SONY CISC-NEWS NWS-1750 + NWB-225 フレームバッファの NetBSD/news68k ドライバ実装 / OSC2026Hiroshima
tsutsui
0
130
AI活用は、個人から組織へ|マルチプレイヤーエージェントハーネス「QM」の社内活用事例 / AI use is moving from individuals to orgs
rkaga
1
140
モデルのリファクタリングが難しいと思ったら、そもそも複雑だったのはビジネス仕様だった ? / is-the-business-domain-the-real-complexity
hatsu38
0
360
WebRTC映像をAirPlayに対応させる挑戦.pdf
monolithic_adam
0
290
アクセシビリティから考える情報設計
high_g_engineer
0
380
更なる可用性を求めて、5年間運用したKotlinのアプリケーションをGoでリプレイスする話
ken_tunc
0
320
巨大モノリシックアプリ モダン化大作戦
ktcryomm
1
1.1k
AgentCore CLI で進化した AWS での AI エージェントの作り方 : 必要な機能を必要な時に
icoxfog417
PRO
3
360
Featured
See All Featured
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
2
2.9k
YesSQL, Process and Tooling at Scale
rocio
174
15k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
We Are The Robots
honzajavorek
0
380
The Limits of Empathy - UXLibs8
cassininazir
1
680
4 Signs Your Business is Dying
shpigford
187
23k
Mobile First: as difficult as doing things right
swwweet
225
10k
Raft: Consensus for Rubyists
vanstee
142
7.7k
Odyssey Design
rkendrick25
PRO
2
810
Bootstrapping a Software Product
garrettdimon
PRO
306
120k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Technical Leadership for Architectural Decision Making
baasie
3
570
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 }
ศརͳπʔϧΛͬͯ ͬͱָΛ͠·͠ΐ͏!!