SlideShare a Scribd company logo
1 of 53
Download to read offline
Unity に於ける 
Android ビルド自動化の 
おはなし【実践編】 
2014.12.15 (Thu) / Unity 勉強会 vol.27 
株式会社キッズスター 
システムデベロプメントチーム リーダー 
森 哲哉
こんばんは!
Mリerアry充 Cばhrくisはtmt…as!!
今日のテーマ
と、いうわけで 
ビルド 
のおはなしです
おしながき
おしながき 
• 自己紹介 
• 前置き 
• やること 
• やりかた
自己紹介
$ whoami 
• “森 哲哉” と申します。 
• a.k.a: もんりぃ / T: @monry / F: monry84 
• 30歳 / ♂ / O型 / 天秤座 / 既婚 
• 趣味は「お酒」と「合唱」です。
$ whoami
$ whoami 
• 大学を (自主的に) 卒業後、ベンチャーを転々。 
• Web のフロントエンド、サーバサイドが得意。 
• Unity 歴 1 年半くらい。 
• AWS とキャッキャウフフするのも好きです。 
• 絶賛 Shader のお勉強中。
$ jobs 
• “株式会社キッズスター” って会社で働いてます。 
• 未就学児~小学生のお子さまをお持ちの 
ファミリーをターゲットにした、知育/教育に 
関わるアプリ・サービスを展開しております。 
• お陰様で EdTech な知育分野に於いて 
No.1 規模で展開しております!(当社調べw)
$ jobs
$ jobs
$ ls -la apps/ 
なりきり!! 
ごっこランド 
パズル&テイルズ 
おかしのくにを 
つくるのじゃ!! 
なりきり!! 
アイスクリーム 
屋さんごっこ 
なりきり!! 
ママごっこ 
お弁当をつくろう! 
おかしの家を 
つくろう! 
ハンバーガー 
やさんごっこ 
飛行機を 
組み立てよう! 
i18n i18n i18n 
i18n 
Google Play 
/ グ1位 
Store App ランキンゆかいな 
カテゴリお花屋さん多数獲得!!!
前置き
環境 
• Operation System: OS X Yosemite 
• Unity: 4.6.0f3 (Pro Only) 
• Platform: Android 
• Language: C# 
• Other: Android SDK, gradle
今日 喋るコト 
• “Build” ボタンを押した以降の話 
• Android Studio を操作しないって話 
• PostProcessBuild な話
今日 喋らないこと 
• Native Plugin の話 
• Google Play Developer Console での公開の話
やること
Unity ⇒ Android Project
Unity ⇒ Android Project 
このボタンを押すと…
Unity ⇒ Android Project 
コレを雛形にして…
Unity ⇒ Android Project 
こんなのが出力され…
Unity ⇒ Android Project 
こいつにプロジェクト情報とかが定義される
Archive
Pre Archive 
• 広告 SDK とかの設定 
• アプリ名ローカライズ設定 
• intent-filter 設定 
• KeyStore 設定
Packaging 
APK を出力する
Packaging 
普通にやるなら Android Studio から
Packaging 
"Import Non-Android Studio project" からの…
Packaging 
なんか色々とエラーと戦って…
Packaging 
頑張れば APK 出力できるんじゃないかな?
こういった作業を 
職人が丹精込めて 
手作業で。
………。
毎回手作業でやれば 
良いんじゃないの?
ダメよ~、ダメダメ!
やりかた
Export Android Project
Export Android Project 
先ずは基本から 
UnityEditor.BuildPipeline.BuildPlayer( 
string[] levels, 
string locationPathName, 
UnityEditor.BuildTarget target, 
UnityEditor.BuildOptions options 
);
Export Android Project 
Example 
BuildPipeline.BuildPlayer( 
new string[] { "Main.scene" }, 
"/Users/monry/SampleProject", 
BuildTarget.Android, 
BuildOptions.Development 
| BuildOptions.AllowDebugging 
| BuildOptions.AcceptExternalModificationsToPlayer 
); 
これで Android Project が出力される
ココから先は 
PostProcessBuild 
で処理する
Archive
Archive 
何はなくとも gradle コマンド実行 
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(); 
パスは環境に応じて変える
Archive 
以上っ!
と、それだけで終わると 
あまりにも雑なので…
build.gradle
build.gradle 
完成品がこちらにございます。 
追加の材料としてコレとかコレも必要ですが。
おまけ
おまけ 
• ビルドした apk を DeployGate に自動 PUSH 
すると、オシャレ! 
• 更にその結果を ChatWork なり Slack なりに 
自動 POST すると、もっとオシャレ!! 
• 更に更に、ココまでを Jenkins オジサンとかに 
お願いすると、最高にオシャレ!!!
まとめ
まとめ 
• PostProcessBuild で、基本的な設定を置換 
• Build → Archive → Deploy も自動化しよう!
Thank you for 
your attention !

More Related Content

What's hot

C# で i phone ゲーム開発
C# で i phone ゲーム開発C# で i phone ゲーム開発
C# で i phone ゲーム開発
Katsutoshi Makino
 
Aiming 開発ゲームの裏側
Aiming 開発ゲームの裏側Aiming 開発ゲームの裏側
Aiming 開発ゲームの裏側
Katsutoshi Makino
 
Createjs jp study #4 20130726
Createjs jp study #4 20130726Createjs jp study #4 20130726
Createjs jp study #4 20130726
Seigo Tanaka
 

What's hot (20)

Unity入門ハンズオン
Unity入門ハンズオンUnity入門ハンズオン
Unity入門ハンズオン
 
スマホ版ログレスにポストエフェクトシステムを導入した話
スマホ版ログレスにポストエフェクトシステムを導入した話スマホ版ログレスにポストエフェクトシステムを導入した話
スマホ版ログレスにポストエフェクトシステムを導入した話
 
C# で i phone ゲーム開発
C# で i phone ゲーム開発C# で i phone ゲーム開発
C# で i phone ゲーム開発
 
ポコロンダンジョンズを彩るアニメーションノウハウ
ポコロンダンジョンズを彩るアニメーションノウハウポコロンダンジョンズを彩るアニメーションノウハウ
ポコロンダンジョンズを彩るアニメーションノウハウ
 
Unity って何?
Unity って何?Unity って何?
Unity って何?
 
Unity講習会(初級)
Unity講習会(初級)Unity講習会(初級)
Unity講習会(初級)
 
Unity での asset bundle による追加コンテンツの扱い方
Unity での asset bundle による追加コンテンツの扱い方Unity での asset bundle による追加コンテンツの扱い方
Unity での asset bundle による追加コンテンツの扱い方
 
UE4をレンダラとした趣味的スピード背景ルックデブ(UE4 Environment Art Dive)
UE4をレンダラとした趣味的スピード背景ルックデブ(UE4 Environment Art Dive)UE4をレンダラとした趣味的スピード背景ルックデブ(UE4 Environment Art Dive)
UE4をレンダラとした趣味的スピード背景ルックデブ(UE4 Environment Art Dive)
 
Aiming 開発ゲームの裏側
Aiming 開発ゲームの裏側Aiming 開発ゲームの裏側
Aiming 開発ゲームの裏側
 
【 #Unity会 】このUnityがすごい2015年版
【 #Unity会 】このUnityがすごい2015年版【 #Unity会 】このUnityがすごい2015年版
【 #Unity会 】このUnityがすごい2015年版
 
Createjs jp study #4 20130726
Createjs jp study #4 20130726Createjs jp study #4 20130726
Createjs jp study #4 20130726
 
UE4におけるキャラクタークラス設計
UE4におけるキャラクタークラス設計UE4におけるキャラクタークラス設計
UE4におけるキャラクタークラス設計
 
ゲームデータDLとの戦い ~幻塔戦記グリフォン~
ゲームデータDLとの戦い ~幻塔戦記グリフォン~ゲームデータDLとの戦い ~幻塔戦記グリフォン~
ゲームデータDLとの戦い ~幻塔戦記グリフォン~
 
低スペックPCでも動く!UE4の設定&歩き方
低スペックPCでも動く!UE4の設定&歩き方低スペックPCでも動く!UE4の設定&歩き方
低スペックPCでも動く!UE4の設定&歩き方
 
UE4で”MetaHumanを使わずに”耳なし芳一になる10の方法 | UE4 Character Art Dive Online
UE4で”MetaHumanを使わずに”耳なし芳一になる10の方法 | UE4 Character Art Dive OnlineUE4で”MetaHumanを使わずに”耳なし芳一になる10の方法 | UE4 Character Art Dive Online
UE4で”MetaHumanを使わずに”耳なし芳一になる10の方法 | UE4 Character Art Dive Online
 
スマホ版ログレスでグローバル展開を想定したサーバ構築をAnsibleで試してみた話
スマホ版ログレスでグローバル展開を想定したサーバ構築をAnsibleで試してみた話スマホ版ログレスでグローバル展開を想定したサーバ構築をAnsibleで試してみた話
スマホ版ログレスでグローバル展開を想定したサーバ構築をAnsibleで試してみた話
 
UE4を使った映像制作 (UE4 Character Art Dive Online)
UE4を使った映像制作 (UE4 Character Art Dive Online)UE4を使った映像制作 (UE4 Character Art Dive Online)
UE4を使った映像制作 (UE4 Character Art Dive Online)
 
『ポコロンダンジョンズ』エフェクトや演出制作ノウハウ
『ポコロンダンジョンズ』エフェクトや演出制作ノウハウ『ポコロンダンジョンズ』エフェクトや演出制作ノウハウ
『ポコロンダンジョンズ』エフェクトや演出制作ノウハウ
 
みくみくまうすについて&Unity で使えるコーディングノウハウ
みくみくまうすについて&Unity で使えるコーディングノウハウみくみくまうすについて&Unity で使えるコーディングノウハウ
みくみくまうすについて&Unity で使えるコーディングノウハウ
 
Unity5.3をさわってみた
Unity5.3をさわってみたUnity5.3をさわってみた
Unity5.3をさわってみた
 

Similar to Unity に於ける Android ビルド自動化のおはなし - 20141215 第27回 Unity 勉強会

Webプログラマの為のUnity入門
Webプログラマの為のUnity入門Webプログラマの為のUnity入門
Webプログラマの為のUnity入門
Yusuke Ando
 
福井スマートフォンハッカソン Titanium Mobileの紹介
福井スマートフォンハッカソン Titanium Mobileの紹介福井スマートフォンハッカソン Titanium Mobileの紹介
福井スマートフォンハッカソン Titanium Mobileの紹介
Mori Shingo
 

Similar to Unity に於ける Android ビルド自動化のおはなし - 20141215 第27回 Unity 勉強会 (20)

20121123 アド部定例会 unityアプリに広告を入れる方法
20121123 アド部定例会 unityアプリに広告を入れる方法20121123 アド部定例会 unityアプリに広告を入れる方法
20121123 アド部定例会 unityアプリに広告を入れる方法
 
Unity ゲーム開発
Unity ゲーム開発Unity ゲーム開発
Unity ゲーム開発
 
20140829 第24回 Unity 勉強会 - Unity meets SpriteStudio
20140829 第24回 Unity 勉強会 - Unity meets SpriteStudio20140829 第24回 Unity 勉強会 - Unity meets SpriteStudio
20140829 第24回 Unity 勉強会 - Unity meets SpriteStudio
 
Unity/CSharp 1 - pptx
Unity/CSharp 1 - pptxUnity/CSharp 1 - pptx
Unity/CSharp 1 - pptx
 
テストがあればなんとかなる〜効率化までの道程〜
テストがあればなんとかなる〜効率化までの道程〜テストがあればなんとかなる〜効率化までの道程〜
テストがあればなんとかなる〜効率化までの道程〜
 
今更C++でiOSアプリを作る話
今更C++でiOSアプリを作る話今更C++でiOSアプリを作る話
今更C++でiOSアプリを作る話
 
いろいろ見せますLord of Knightsのクライアント開発事例紹介
いろいろ見せますLord of Knightsのクライアント開発事例紹介いろいろ見せますLord of Knightsのクライアント開発事例紹介
いろいろ見せますLord of Knightsのクライアント開発事例紹介
 
20140926 NCMB勉強会 #4 - Unity meets SpriteStudio
20140926 NCMB勉強会 #4 - Unity meets SpriteStudio20140926 NCMB勉強会 #4 - Unity meets SpriteStudio
20140926 NCMB勉強会 #4 - Unity meets SpriteStudio
 
モダンなAndroidアプリ開発勉強会
モダンなAndroidアプリ開発勉強会モダンなAndroidアプリ開発勉強会
モダンなAndroidアプリ開発勉強会
 
Wantedlyのテスト事情
Wantedlyのテスト事情Wantedlyのテスト事情
Wantedlyのテスト事情
 
スマートフォンアプリの テスト自動化をはじめよう
スマートフォンアプリの テスト自動化をはじめようスマートフォンアプリの テスト自動化をはじめよう
スマートフォンアプリの テスト自動化をはじめよう
 
Webプログラマの為のUnity入門
Webプログラマの為のUnity入門Webプログラマの為のUnity入門
Webプログラマの為のUnity入門
 
Androidアプリ開発を楽にするために
Androidアプリ開発を楽にするためにAndroidアプリ開発を楽にするために
Androidアプリ開発を楽にするために
 
福井スマートフォンハッカソン Titanium Mobileの紹介
福井スマートフォンハッカソン Titanium Mobileの紹介福井スマートフォンハッカソン Titanium Mobileの紹介
福井スマートフォンハッカソン Titanium Mobileの紹介
 
JCROM で Android の「真の力」を解き放て
JCROM で Android の「真の力」を解き放てJCROM で Android の「真の力」を解き放て
JCROM で Android の「真の力」を解き放て
 
Android Studio 2.2の紹介@Google I/O 2016東京報告会
Android Studio 2.2の紹介@Google I/O 2016東京報告会Android Studio 2.2の紹介@Google I/O 2016東京報告会
Android Studio 2.2の紹介@Google I/O 2016東京報告会
 
UnityとBlenderハンズオン第8章
UnityとBlenderハンズオン第8章UnityとBlenderハンズオン第8章
UnityとBlenderハンズオン第8章
 
入門者用Android Studio Hands on
入門者用Android Studio Hands on入門者用Android Studio Hands on
入門者用Android Studio Hands on
 
unity build on github actions
unity build on github actionsunity build on github actions
unity build on github actions
 
Appmethodで何か作ってみる
Appmethodで何か作ってみるAppmethodで何か作ってみる
Appmethodで何か作ってみる
 

More from Mori Tetsuya

Unity 5 の AssetBundle について (浅く) まとめてみた - 2015/05/22 第31回 Unity 勉強会
Unity 5 の AssetBundle について (浅く) まとめてみた - 2015/05/22 第31回 Unity 勉強会Unity 5 の AssetBundle について (浅く) まとめてみた - 2015/05/22 第31回 Unity 勉強会
Unity 5 の AssetBundle について (浅く) まとめてみた - 2015/05/22 第31回 Unity 勉強会
Mori Tetsuya
 
20140711 MySQL Casual Talks vol.6 / 続・Amazon RDS Casual Talks
20140711 MySQL Casual Talks vol.6 / 続・Amazon RDS Casual Talks20140711 MySQL Casual Talks vol.6 / 続・Amazon RDS Casual Talks
20140711 MySQL Casual Talks vol.6 / 続・Amazon RDS Casual Talks
Mori Tetsuya
 
20131220 aws勉強会
20131220 aws勉強会20131220 aws勉強会
20131220 aws勉強会
Mori Tetsuya
 
20131025 my sql casual talks vol.5
20131025 my sql casual talks vol.520131025 my sql casual talks vol.5
20131025 my sql casual talks vol.5
Mori Tetsuya
 

More from Mori Tetsuya (20)

GraphView のすゝめ / Introduction of GraphView
GraphView のすゝめ / Introduction of GraphViewGraphView のすゝめ / Introduction of GraphView
GraphView のすゝめ / Introduction of GraphView
 
基盤・設計まわりでしくじってしまった話
基盤・設計まわりでしくじってしまった話基盤・設計まわりでしくじってしまった話
基盤・設計まわりでしくじってしまった話
 
2020年版 Unity Package Manager 更新点まとめ
2020年版 Unity Package Manager 更新点まとめ2020年版 Unity Package Manager 更新点まとめ
2020年版 Unity Package Manager 更新点まとめ
 
Unity Development Infrastructure / Unity プロジェクトの開発基盤を大公開
Unity Development Infrastructure / Unity プロジェクトの開発基盤を大公開Unity Development Infrastructure / Unity プロジェクトの開発基盤を大公開
Unity Development Infrastructure / Unity プロジェクトの開発基盤を大公開
 
Future of UniFlow
Future of UniFlowFuture of UniFlow
Future of UniFlow
 
Clean Architecture for Unity
Clean Architecture for UnityClean Architecture for Unity
Clean Architecture for Unity
 
Visual Programming Framework for Unity - UniFlow のご紹介
Visual Programming Framework for Unity - UniFlow のご紹介Visual Programming Framework for Unity - UniFlow のご紹介
Visual Programming Framework for Unity - UniFlow のご紹介
 
Unity ユーザのための Git ハンズオン #2
Unity ユーザのための Git ハンズオン #2Unity ユーザのための Git ハンズオン #2
Unity ユーザのための Git ハンズオン #2
 
Unity で Unit な Test を書いてみた
Unity で Unit な Test を書いてみたUnity で Unit な Test を書いてみた
Unity で Unit な Test を書いてみた
 
Unity meets Kinect -Unity で NUI を扱ってみた- / 2015.06.23 at TechBuzz Space
Unity meets Kinect -Unity で NUI を扱ってみた- / 2015.06.23 at TechBuzz SpaceUnity meets Kinect -Unity で NUI を扱ってみた- / 2015.06.23 at TechBuzz Space
Unity meets Kinect -Unity で NUI を扱ってみた- / 2015.06.23 at TechBuzz Space
 
Unity 5 の AssetBundle について (浅く) まとめてみた - 2015/05/22 第31回 Unity 勉強会
Unity 5 の AssetBundle について (浅く) まとめてみた - 2015/05/22 第31回 Unity 勉強会Unity 5 の AssetBundle について (浅く) まとめてみた - 2015/05/22 第31回 Unity 勉強会
Unity 5 の AssetBundle について (浅く) まとめてみた - 2015/05/22 第31回 Unity 勉強会
 
できる! Unity 2D (vol.2)
できる! Unity 2D (vol.2)できる! Unity 2D (vol.2)
できる! Unity 2D (vol.2)
 
20150216 Unity Hands-on 「できる!Unity 2D」
20150216 Unity Hands-on 「できる!Unity 2D」20150216 Unity Hands-on 「できる!Unity 2D」
20150216 Unity Hands-on 「できる!Unity 2D」
 
20140822 Swift 勉強会 vol.3 - はぢめての Swift
20140822 Swift 勉強会 vol.3 - はぢめての Swift20140822 Swift 勉強会 vol.3 - はぢめての Swift
20140822 Swift 勉強会 vol.3 - はぢめての Swift
 
20140711 MySQL Casual Talks vol.6 / 続・Amazon RDS Casual Talks
20140711 MySQL Casual Talks vol.6 / 続・Amazon RDS Casual Talks20140711 MySQL Casual Talks vol.6 / 続・Amazon RDS Casual Talks
20140711 MySQL Casual Talks vol.6 / 続・Amazon RDS Casual Talks
 
20140618 教育・知育アプリのつくりかた
20140618 教育・知育アプリのつくりかた20140618 教育・知育アプリのつくりかた
20140618 教育・知育アプリのつくりかた
 
20140530 Unity に於ける Localization のおはなし
20140530 Unity に於ける Localization のおはなし20140530 Unity に於ける Localization のおはなし
20140530 Unity に於ける Localization のおはなし
 
20131220 aws勉強会
20131220 aws勉強会20131220 aws勉強会
20131220 aws勉強会
 
20131025 my sql casual talks vol.5
20131025 my sql casual talks vol.520131025 my sql casual talks vol.5
20131025 my sql casual talks vol.5
 
AssetBundle と TextureCompression のおはなし
AssetBundle と TextureCompression のおはなしAssetBundle と TextureCompression のおはなし
AssetBundle と TextureCompression のおはなし
 

Unity に於ける Android ビルド自動化のおはなし - 20141215 第27回 Unity 勉強会