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
Unity に於ける Android ビルド自動化のおはなし【実践編】
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Tetsuya Mori
PRO
December 15, 2014
Programming
120
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Unity に於ける Android ビルド自動化のおはなし【実践編】
Tetsuya Mori
PRO
December 15, 2014
More Decks by Tetsuya Mori
See All by Tetsuya Mori
ビルドシステムを C# 大統一したお話
monry
PRO
2
1.5k
C# 大統一理論推進委員会 会員のための Unity Package Manager プロジェクト構成案
monry
PRO
0
1.8k
はじめての C# 大統一理論
monry
PRO
0
840
unity1week でチーム開発を成功させる秘訣
monry
PRO
0
320
Unity で ARゲームを作った話
monry
PRO
1
1k
Visual Programming Framework UniFlow のご紹介/Introducing UniFlow
monry
PRO
2
3.2k
UniFlow 完全に理解した / I can develop UniFlow a little.
monry
PRO
0
560
Democratized Unity Package Manager
monry
PRO
1
3.1k
使ってみよう! Unity RemoteSettings/Let's use Unity RemoteSettings
monry
PRO
1
1.3k
Other Decks in Programming
See All in Programming
なぜ型を書くのか? TSKaigi2026で改めて考える #tskaigi_smarthr
kajitack
0
340
Hunting Vulnerabilities in Symfony with LLMs
vinceamstoutz
0
580
ローカルLLMでどこまでコードが書けるか -縮小版 / How much code can be written on a local LLM Shortened
kishida
2
190
気圧・高度・GPSを記録&可視化するアプリ「Koudo」を作った話
hjmkth
1
350
どこまでゆるくて許されるのか
tk3fftk
0
470
act1-costs.pdf
sumedhbala
0
210
Contextとはなにか
chiroruxx
1
390
信頼性について考えてみる(SRE NEXT 2026 miniLT)
hayama17
0
160
共通化で考えるべきは、実装より公開する型だった
codeegg
0
210
えっ!!コードを読まずに開発を!?
hananouchi
0
190
20260623_Loop Engineeringで自分の分身の問い合わせBotを作る
ryugen04
0
200
例外の正しい扱い方 そのエラー try-catchして大丈夫?
jinwatanabe
0
360
Featured
See All Featured
Gemini Prompt Engineering: Practical Techniques for Tangible AI Outcomes
mfonobong
2
460
GitHub's CSS Performance
jonrohan
1033
470k
BBQ
matthewcrist
89
10k
GraphQLとの向き合い方2022年版
quramy
50
15k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
220
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
800
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.1k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
180
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
340
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
920
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
290
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.4k
Transcript
6OJUZʹԙ͚Δ "OESPJEϏϧυࣗಈԽͷ ͓ͳ͠ʲ࣮ફฤʳ 5IV 6OJUZษڧձWPM גࣜձࣾΩοζελʔ γεςϜσϕϩϓϝϯτνʔϜϦʔμʔ ɹ࠸
͜ΜΜʂ
ϦΞॆ͘Uʜ .FSSZ$ISJTUNBT
ࠓͷςʔϚ
None
ͱɺ͍͏Θ͚Ͱ Ϗϧυ ͷ͓ͳ͠Ͱ͢
͓͠ͳ͕͖
͓͠ͳ͕͖ w ࣗݾհ w લஔ͖ w Δ͜ͱ w Γ͔ͨ
ࣗݾհ
XIPBNJ w lɹ࠸zͱਃ͠·͢ɻ w BLBΜΓ͌5!NPOSZ'NPOSZ w ࡀˁ0ܕఱṝ࠲طࠗ w झຯʮ͓ञʯͱʮ߹এʯͰ͢ɻ
XIPBNJ
XIPBNJ w େֶΛ ࣗओతʹ ଔۀޙɺϕϯνϟʔΛసʑɻ w 8FCͷϑϩϯτΤϯυɺαʔόαΠυ͕ಘҙɻ w 6OJUZྺ͘Β͍ɻ w
"84ͱΩϟοΩϟϑϑ͢Δͷ͖Ͱ͢ɻ w ઈࢍ4IBEFSͷ͓ษڧதɻ
KPCT w lגࣜձࣾΩοζελʔzͬͯձࣾͰಇ͍ͯ·͢ɻ w ະबֶࣇʙখֶੜͷ͓ࢠ͞·Λ͓࣋ͪͷ ϑΝϛϦʔΛλʔήοτʹͨ͠ɺҭڭҭʹ ؔΘΔΞϓϦɾαʔϏεΛల։͓ͯ͠Γ·͢ɻ w ͓ӄ༷Ͱ&E5FDIͳҭʹԙ͍ͯ /PنͰల։͓ͯ͠Γ·͢ʂ
ࣾௐ͆
KPCT
KPCT
MTMBBQQT ͳΓ͖Γ ͬ͜͝ϥϯυ ύζϧςΠϧζ ͓͔͠ͷ͘ʹΛ ͭ͘Δͷ͡Ό ͳΓ͖Γ ΞΠεΫϦʔϜ ͞Μͬ͜͝ ͳΓ͖Γ
ϚϚͬ͜͝ ͓หΛͭ͘Ζ͏ʂ ͓͔͠ͷՈΛ ͭ͘Ζ͏ʂ ϋϯόʔΨʔ ͞Μͬ͜͝ ඈߦػΛ ΈཱͯΑ͏ʂ i18n i18n i18n i18n Ώ͔͍ͳ ͓Ֆ͞Μ App Store / Google Play カテゴリランキング1位 多数獲得!!!
લஔ͖
ڥ w 0QFSBUJPO4ZTUFN049:PTFNJUF w 6OJUZG 1SP0OMZ w 1MBUGPSN"OESPJE w
-BOHVBHF$ w 0UIFS"OESPJE4%, HSBEMF
ࠓΔίτ w l#VJMEzϘλϯΛԡͨ͠Ҏ߱ͷ w "OESPJE4UVEJPΛૢ࡞͠ͳ͍ͬͯ w 1PTU1SPDFTT#VJMEͳ
ࠓΒͳ͍͜ͱ w /BUJWF1MVHJOͷ w (PPHMF1MBZ%FWFMPQFS$POTPMFͰͷެ։ͷ
Δ͜ͱ
6OJUZ㱺"OESPJE1SPKFDU
6OJUZ㱺"OESPJE1SPKFDU ͜ͷϘλϯΛԡ͢ͱʜ
6OJUZ㱺"OESPJE1SPKFDU ίϨΛܗʹͯ͠ʜ
6OJUZ㱺"OESPJE1SPKFDU ͜Μͳͷ͕ग़ྗ͞Εʜ
6OJUZ㱺"OESPJE1SPKFDU ͍ͭ͜ʹϓϩδΣΫτใͱ͔͕ఆٛ͞ΕΔ
"SDIJWF
1SF"SDIJWF w ࠂ4%,ͱ͔ͷઃఆ w ΞϓϦ໊ϩʔΧϥΠζઃఆ w JOUFOUpMUFSઃఆ w ,FZ4UPSFઃఆ
1BDLBHJOH "1,Λग़ྗ͢Δ
1BDLBHJOH ී௨ʹΔͳΒ"OESPJE4UVEJP͔Β
1BDLBHJOH *NQPSU/PO"OESPJE4UVEJPQSPKFDU͔Βͷʜ
1BDLBHJOH ͳΜ͔৭ʑͱΤϥʔͱઓͬͯʜ
1BDLBHJOH ؤுΕ"1,ग़ྗͰ͖ΔΜ͡Όͳ͍͔ͳʁ
͜͏͍ͬͨ࡞ۀΛ ৬ਓ͕୮ਫ਼ࠐΊͯ ख࡞ۀͰɻ
ʜʜʜɻ
ຖճख࡞ۀͰΕ ྑ͍Μ͡Όͳ͍ͷʁ
μϝΑʙɺμϝμϝʂ
Γ͔ͨ
&YQPSU"OESPJE1SPKFDU
&YQPSU"OESPJE1SPKFDU UnityEditor.BuildPipeline.BuildPlayer( string[] levels, string locationPathName, UnityEditor.BuildTarget target, UnityEditor.BuildOptions options
); ઌͣجຊ͔Β
&YQPSU"OESPJE1SPKFDU BuildPipeline.BuildPlayer( new string[] { "Main.scene" }, "/Users/monry/SampleProject", BuildTarget.Android, BuildOptions.Development
| BuildOptions.AllowDebugging | BuildOptions.AcceptExternalModificationsToPlayer ); &YBNQMF ͜ΕͰ"OESPJE1SPKFDU͕ग़ྗ͞ΕΔ
ίί͔Βઌ 1PTU1SPDFTT#VJME Ͱॲཧ͢Δ
"SDIJWF
"SDIJWF System.Diagnostics.Process process = new System.Diagnostics.Process(); process.StartInfo.FileName = "/usr/local/bin/gradle"; process.StartInfo.Arguments
= string.Format( "-b \"{0}/build.gradle\" assembleProduction", "/path/to/export" ); process.StartInfo.CreateNoWindow = true; process.Start(); process.WaitForExit(); process.Close(); Կͳ͘ͱHSBEMFίϚϯυ࣮ߦ ύεڥʹԠͯ͡ม͑Δ
"SDIJWF Ҏ্ͬʂ
ͱɺͦΕ͚ͩͰऴΘΔͱ ͋·ΓʹࡶͳͷͰʜ
CVJMEHSBEMF
CVJMEHSBEMF ͕ͪ͜Βʹ͍͟͝·͢ɻ Ճͷࡐྉͱͯ͠ίϨͱ͔ίϨඞཁͰ͕͢ɻ
͓·͚
͓·͚ w Ϗϧυͨ͠BQLΛ%FQMPZ(BUFʹࣗಈ164) ͢ΔͱɺΦγϟϨʂ w ߋʹͦͷ݁ՌΛ$IBU8PSLͳΓ4MBDLͳΓʹ ࣗಈ1045͢ΔͱɺͬͱΦγϟϨʂʂ w ߋʹߋʹɺίί·ͰΛ+FOLJOTΦδαϯͱ͔ʹ ͓ئ͍͢Δͱɺ࠷ߴʹΦγϟϨʂʂʂ
·ͱΊ
·ͱΊ w 1PTU1SPDFTT#VJMEͰɺجຊతͳઃఆΛஔ w #VJMEˠ"SDIJWFˠ%FQMPZࣗಈԽ͠Α͏ʂ
5IBOLZPVGPS ZPVSBUUFOUJPO