【Unity】Androidビルドで実は大事なマニフェストファイルの簡単な紹介

【Unity】Androidビルドで実は大事なマニフェストファイルの簡単な紹介

Unityで作ったゲームをAndroid向けにビルドする際は、多くの場合Unity側で必要なファイルを生成してくれます。

Androidアプリではマニフェストファイルというアプリに関する情報を説明するためのファイルがあるのですが、これも自動的に作ってくれます。便利ですね。

Unityから直接apkファイルを作成する場合は見かけることも少ないかもしれませんが、実は結構大事なファイルだったりするので簡単に紹介します。

Androidでゴリゴリ開発している人にとっては既知の情報かもしれません。

 

 

Androidビルドで実は大事なマニフェストファイル

マニフェストファイルはアプリのパッケージ名や、アプリが使用する権限、アプリのコンポーネントなどの情報が記載されたファイルです。マニフェスト(Manifest)とは飛行機の積荷目録や乗客名簿を意味する言葉。Manifestoだと宣言書、日本だと公約などを表します。どちらも何かを明らかにする意味合いを持っています。

AndroidではAndroidManifest.xmlというファイルにこれらの情報が記載されます。

アプリに関する情報はビルド時に使われるのに加えて、アプリストア(GooglePlay)に説明するとき、Android端末でアプリを実行するときに使われます。

例えばどんな権限を使うかの情報をGooglePlayで見たことがあるかもしれません。また、実際にダウンロードしてアプリを実行した時に「このアプリはほにゃららの権限を使います」みたいなダイアログが表示されたのを見たことがあるかもしれません。

アプリがユーザーの害になるものではないということを明らかにするためにもこのマニフェストファイルが重要な役割を持っています。

ちなみにAndroidのプロジェクトではGradleに関するファイル(gradle.buidなど)もあります。こちらにもアプリのパッケージ名などが記載されますが、gradle.buildはビルド時に使うファイルなので、AndroidManifest.xmlの方が使われる場所が多かったりします。

 

Unityでは自動的に作成される

UnityでAndroid向けにビルドする場合、「あれ? AndroidManifest.xmlを書いたっけ?」となるかもしれません。実はUnityではプロジェクト内の情報を元に自動的にAndroidManifest.xmlを作成してくれます。

PlayerSettingsなどでAndroidに関する情報を入力しますが、これらの情報をマニフェストファイルとしてまとめてくれます。

なので、Unityユーザーはマニフェストファイルのことをあまり気にしなくても済んでいます。

UnityにおけるAndroidマニフェストファイルの作成プロセスは以下のページもご参照ください。

 

Unity2019.3からは2つのAndroidManifest.xmlが生成されるようになっていて、「launcher」と「unityLibrary」の2箇所で作成されます。「launcher」の方はアプリ名やアイコン、アプリのインストール場所(内部ストレージかSDカードか)といった情報が記載され、「unityLibrary」の方はアクティビティやインテント、パーミッションなど、より詳細に情報が記載されます。

それ以前のバージョンではひとつのマニフェストファイルにまとまっています。

 

自分でマニフェストファイルを追加できる

場合によっては自分でマニフェストファイルを追加したいこともあります。例えば外部のツールを使うために、そのツールが必要とする権限などをマニフェストファイルに追加するといった場合です。2, 3年前の話ですがNCMB(ニフティクラウドモバイルバックエンド)をアプリに実装した時には、マニフェストに追記が必要でした。

UnityではAssets/Plugins/AndroidのフォルダにAndroidManifest.xmlを配置しておくことで、Unityが生成するマニフェストファイルと私たちがカスタマイズしたマニフェストファイルをマージ(統合)してくれます。

マージした結果が正しいかどうかは、直接アプリのapkをビルドするのではなくプロジェクトをエクスボートして確かめると安心です。

 

まとめ

UnityでAndroidアプリをビルドする時には自動的に生成されるので、もしかしたらあまり目にする機会がないかもしれないマニフェストファイルについて簡単に紹介しました。

まず存在を認識してもらうような位置付けの記事なので詳細までは立ち入りませんでしたが、プロジェクトをエクスボートしてどんなことが書かれているか確認してみるとAndroidビルドも怖くなくなる……かも。

 

     

ゲーム開発の攻略チャートを作りました!

CTA-IMAGE

「ゲームを作ってみたいけど、何から手を付けていいか分からない!」


そんなお悩みをお持ちの方向けに、todoがアプリをリリースした経験を中心に、ゲーム作りの手順や考慮すべき点をまとめたe-bookを作成しました。ゲーム作りはそれ自体がゲームのように楽しいプロセスなので、「攻略チャート」と名付けています。


ゲームを作り始めた時にぶつかる壁である「何をしたら良いのか分からない」という悩みを吹き飛ばしましょう!