おれんじりりぃぶろぐ

きっと何者にもなれないエンジニアのブログ

UnityでAndroidビルドをする方法

概要

UnityでAndroidのバイナリ(apk)を作成する手順の紹介です。

前提

  • Unity2018.4.6f1
  • Mac

前準備

NDK、SDKのインストール

Androidのil2cppビルドをするためにはNDK、SDKが必要になります。 それぞれインストールします。

Android Studio(SDK)

Android NDK

JDKについては、Android Studioに同梱されているOpenJDKを使用しています。
Android Studioは実際に起動しないと最新のBuild-toolsやSDK Platformはインストールされません。
Toolsに関しては、androidコマンドが存在している25.2以下でないとビルドに失敗する可能性があります。

Preferencesの設定

スクリーンショット 2019-10-13 0.54.02.png (143.7 kB

Unity -> PreferenceからNDK、SDKのパスを設定します。 必要なNDKのバージョンはUnityごとに変わりますがここで確認できます。

余談
ここの設定はマシンで共通になるので、異なるUnityバージョンで必要なNDKが違ってビルドしたい場合は厄介になるかもしれません。 ここにはシンボリックリンクを記載しておいて、ビルド直前にシンボリックリンクと実際のパスを切り替えるくらいしか良い手を思いつきません。

ここまでがビルドの前準備になります。

ビルド

PlayerSettingsの設定

スクリーンショット 2019-10-13 3.03.27.png (167.4 kB)

PackageNameやVersionCodeなどAPK作成に必要な設定をを行います。 Idenfication(PackageNameやVersionCodeなど) 一例 スクリーンショット 2019-10-13 2.59.41.png (13.5 kB)

Configuration(IL2CPPやアーキテクチャなど) 一例 スクリーンショット 2019-10-13 3.01.50.png (124.4 kB)

アイコンやkeystoreの設定もPlayerSettingsで行うことができます。 これらの項目はものによってはGradleプロジェクトで直接設定する方法もあります。アイコンなどは最新のUnityを使っていない場合は、Android側が要求するサイズを追従できず解像度が崩れる場合もあります。

BuildSettingsの設定

スクリーンショット 2019-10-13 0.12.33.png (165.4 kB)

Build SystemをGradleにして、Export Projectにチェックを入れます。 チェックを入れることでGradleのプロジェクトをUnityが作ってくれます。 Export Projectのチェックを外すとapkだけが直接できあがります。

Expotボタンを押します。

エクスポートが完了したらgradle projectのrootに移動します。

ls
build/          gradle.properties   local.properties    src/
build.gradle        libs/           proguard-unity.txt

gradleビルド

gradleビルドをしていきます。

gradle build
...

gradleがインストールされていない場合はMacの場合はbrewでインストールできます。

brew install gradle

余談
複数人開発でそれぞれのマシンでビルドするような場合はgradlewを用意してGradleのバージョンを統一させる方法もあります。(別途記事にしたいと思っています)

gradleビルドが完了したらapkが作成できていることを確認します。

find ./ -name '*.apk'
.//build/outputs/apk/release/app-release.apk
.//build/outputs/apk/debug/app-debug.apk