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
Tetsuya Mori
PRO
December 15, 2014
Programming
0
110
Unity に於ける Android ビルド自動化のおはなし【実践編】
Tetsuya Mori
PRO
December 15, 2014
Tweet
Share
More Decks by Tetsuya Mori
See All by Tetsuya Mori
ビルドシステムを C# 大統一したお話
monry
PRO
2
1k
C# 大統一理論推進委員会 会員のための Unity Package Manager プロジェクト構成案
monry
PRO
0
1.3k
はじめての C# 大統一理論
monry
PRO
0
650
unity1week でチーム開発を成功させる秘訣
monry
PRO
0
180
Unity で ARゲームを作った話
monry
PRO
1
680
Visual Programming Framework UniFlow のご紹介/Introducing UniFlow
monry
PRO
2
2.7k
UniFlow 完全に理解した / I can develop UniFlow a little.
monry
PRO
0
470
Democratized Unity Package Manager
monry
PRO
1
2.6k
使ってみよう! Unity RemoteSettings/Let's use Unity RemoteSettings
monry
PRO
1
1k
Other Decks in Programming
See All in Programming
3 Effective Rules for Using Signals in Angular
manfredsteyer
PRO
0
100
よくできたテンプレート言語として TypeScript + JSX を利用する試み / Using TypeScript + JSX outside of Web Frontend #TSKaigiKansai
izumin5210
6
1.7k
Jakarta EE meets AI
ivargrimstad
0
180
Amazon Qを使ってIaCを触ろう!
maruto
0
410
『ドメイン駆動設計をはじめよう』のモデリングアプローチ
masuda220
PRO
8
540
Snowflake x dbtで作るセキュアでアジャイルなデータ基盤
tsoshiro
2
520
とにかくAWS GameDay!AWSは世界の共通言語! / Anyway, AWS GameDay! AWS is the world's lingua franca!
seike460
PRO
1
880
Realtime API 入門
riofujimon
0
150
見せてあげますよ、「本物のLaravel批判」ってやつを。
77web
7
7.8k
聞き手から登壇者へ: RubyKaigi2024 LTでの初挑戦が 教えてくれた、可能性の星
mikik0
1
130
RubyLSPのマルチバイト文字対応
notfounds
0
120
Webの技術スタックで マルチプラットフォームアプリ開発を可能にするElixirDesktopの紹介
thehaigo
2
1k
Featured
See All Featured
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
8
890
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
329
21k
Building Your Own Lightsaber
phodgson
103
6.1k
Intergalactic Javascript Robots from Outer Space
tanoku
269
27k
Making the Leap to Tech Lead
cromwellryan
133
8.9k
Facilitating Awesome Meetings
lara
50
6.1k
The Art of Programming - Codeland 2020
erikaheidi
52
13k
Fireside Chat
paigeccino
34
3k
Why Our Code Smells
bkeepers
PRO
334
57k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
364
24k
VelocityConf: Rendering Performance Case Studies
addyosmani
325
24k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5k
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