UnityでAndroidアプリをビルドするには

最終更新日:2017年09月04日

UnityでAndroidアプリをビルド・実行する手順をまとめてみました。

Unity 2017.1および2017.2、Android Studio Version 2.3.3で確認を行っています。WindowsとmacOSでほぼ共通の手順になります。

デバイスを接続する

Androidスマートフォン(スタンドアローンDaydream)を開発者モードにする

Androidを開発者モードにする隠しコマンド(?)があるので実行します。

Android端末の「設定」で一番下の「端末情報」をタップし、一番下の「ソフトウェア情報」をタップし、さらに一番下の「ビルド番号」を7回タップします(メニュー階層が変更されていることが結構あるようです)。「これでデベロッパーになりました!」と出れば成功です。さらに、「設定」>「開発者向けオプション」で「USBデバッグ」をオンにして、OKを押します。端末をPCにUSBで接続して、「USBデバッグを許可しますか?」というダイヤログが出たら許可します。

Android開発環境をセットアップする

Java SE Development Kitをインストールする

Android開発にはJava SE Development Kit 8以降が必要です。こちらのページのAccept License Agreementをチェックして、対応するプラットフォーム(64bit WindowsならWindows x64、MacならMac OS X)のものをインストールしてください。

Android Studioをインストールする

Android Studioをダウンロードして、特に設定を変えずにそのままインストールしてください。

UnityでAndroidビルドしてみる

UnityをAndroid Build Supportと一緒にインストールする

UnityでAndroidビルドするには、Unityをインストールするときに、オプションのAndroid Build Supportを一緒にインストールする必要があります。もし入れていない場合は、Unityのセットアップを再実行してください。

UnityにAndroid SDKのパスを教える

Android Studioを起動して、起動画面の右下のConfigure > SDK Managerを開いてください。

Android SDK Locationに表示されているパスを選択・コピーしてください。

UnityでEdit > Preferences…を開き、External ToolsタブのAndroid SDKの項目にペーストしてパスを設定します。

ビルドプラットフォームをAndroidに変更する

File > Build Settings…でプラットフォームをAndroidに変更してください。

Package Nameを設定する

プロジェクトごとにPackage Nameを設定する必要があります。Build SettingsでPlayer Settings…をクリックし、Androidタブで「com.Company.ProductName」となっているCompanyとProductNameを、適当な組織名とプロダクト名で書き換えます。

ビルドする

Build SettingsのBuild and Runボタンでビルドと実機への転送が行われます。Androidのパッケージファイル(.apk)の名前を尋ねられるので、適当な名前をつけます。

端末でアプリが起動すれば、ひとまず成功です。

adbコマンドについて

コマンドラインからAndroid端末とやり取りをするadb(Android Debug Bridge)というツールがAndroid Studioによってインストールされ、Android開発では頻繁に用いますので、パスを通しておくと便利です。Windowsでは C:¥Users¥{ユーザー名}¥AppData¥Local¥Android¥sdk¥platform-tools にインストールされます。

Android Debug Bridgeのページに解説がありますが、簡単な用途をいくつか説明します。

adb devicesで、接続されている端末のIDが表示されます。端末がきちんと認識されているかどうかを確認できます。IDが表示されない場合には、ドライバがインストールされているか、Androidが開発者モードになっているかを確認してください。

C:\Users\{ユーザー名}\AppData\Local\Android\sdk\platform-tools>adb devices
List of devices attached
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
{デバイスID}        device

また、adb logcatで端末のログが表示されます。grepが使用できる場合、adb logcat | grep hogeのようにキーワードでフィルタすると便利です。UnityでDebug.Log関数を使用するときに特徴的なキーワードを含めておくといったテクニックがあります。

PCがAndroid端末を認識しない場合、

adb kill-server
adb start-server

で接続できることがあるようです。

“Unable to install APK to device.“というエラーが出る

Build And Runで.apkファイルはビルドされるのにAndroidへの転送ができず、

Unable to install APK to device. Please make sure the Android SDK is installed and is properly configured in the Editor. See the Console for more details. See the Console for details.

というエラーが出る場合、Android側でインストール済みのアプリをアンインストールして、再度Build And Runすると上手くいくことがあるようです。

書いた人:こりん(@korinVR
VR開発メモトップ