Android アプリマニフェスト
Introduces Unity Library Manifests and explains how Unity uses them to generate the final Android App Manifest for an application.
読み終わるまでの所要時間 7 分最終更新 1ヶ月前
Android アプリマニフェストには、Android アプリケーションに関する情報が含まれています。各アプリケーションは、ソースセット のルートに という Android アプリマニフェスト XML ファイルを 1 つ持ちます。Android OS とデジタル分布サービス (例えば Google Play) は、Android アプリマニフェストを使用して、アプリケーション名、アプリケーションの エントリーポイント、Android バージョンのサポート、ハードウェア機能のサポート、アプリケーションの権限などの情報を検索します。Android アプリマニフェストファイルの詳細と、それが構成する設定のリストについては、Android アプリマニフェスト に関する Android Developer のドキュメントを参照してください。
AndroidManifest.xmlアプリケーションを表す Android アプリマニフェストを生成するために、Gradle はさまざまなソースのマニフェストファイルをマージします。これには次が含まれます。
- Unity ライブラリマニフェスト: Unity Player アクティビティを設定する Unity が生成するマニフェストファイル。詳細については、Unity ライブラリマニフェスト を参照してください。
- Unity Launcher Manifest: Unity ライブラリをラップするアプリケーションを設定する Unity が生成するマニフェストファイル。詳細については、Unity Launcher Manifest を参照してください。
- プラグインマニフェスト: Android Archive (AAR) や Android ライブラリプロジェクトなどのプラグインを表すマニフェストファイル。
Unity がこれらのマニフェストファイルを使用して Android アプリマニフェストを生成する方法については、Android アプリマニフェストの生成 を参照してください。
Android アプリマニフェストの生成
Android アプリケーションビルドプロセス は、アプリケーションの Android アプリマニフェストファイルを生成します。手順は以下のとおりです。
- Unity は、Unity ライブラリマニフェストを Android アプリマニフェストのテンプレートとして使用します。Unity ライブラリマニフェストをオーバーライド すると、Unity は指定したファイルをテンプレートとして使用します。
- Unity は、Unity ライブラリマニフェストファイルと Unity Launcher Manifest ファイルを、権限、設定オプション、アプリケーションが使用する機能などの情報で更新します。
- Gradle は、Unity ライブラリマニフェスト、Unity Launcher Manifest、およびプラグインマニフェストを、1 つの Android アプリマニフェストファイル内にマージします。
出力された Android App Bundle (AAB) または Android パッケージ (APK) 内の Android アプリマニフェストファイルは、Android Studio APK Analyzer、または Apktool などのサードパーティ製のツールを使用して表示できます。
重要: APK または AAB 内の Android アプリマニフェストファイルは編集できません。Android アプリマニフェストのコンテンツをオーバーライドする方法については、Gradle プロジェクトファイルの変更 を参照してください。
パーミッション
Unity は、Android Player 設定 と、アプリケーションが C# スクリプトから呼び出す Unity API に基づいて、マニフェストに必要な権限を自動的に加えます。 例:
-
以下のクラス、パッケージ、および Player 設定は、権限を追加します。
INTERNET- 開発ビルドの Android Player 設定 で Internet Access を Require に設定する
- UnityWebRequest クラスと Ping クラス
- System.Net.Sockets API
- Unity Analytics パッケージと、Cloud Diagnostics パッケージ のクラッシュと例外レポート
-
振動 (Handheld.Vibrate など) を使用すると、が追加されます。
VIBRATE -
InternetReachability プロパティはを追加します。
ACCESS_NETWORK_STATE -
位置情報 API (LocationService など) はを追加します。
ACCESS_FINE_LOCATION -
WebCamTexture API はを追加します。
CAMERA -
Microphone クラスはを追加します。
RECORD_AUDIO
プラグインがそのマニフェストで宣言している権限を要求している場合、Unity は、Gradle のマージの段階で、最終的な Android アプリマニフェストにその権限を自動的に追加します。Unity は、プラグインが権限リストで使用するすべての Unity API を追加することに注意してください。
Android アプリマニフェストで権限を指定する代わりに、Android ランタイムパーミッションシステム を使用して ランタイムに権限をリクエスト できます。
権限の詳細については、Android アプリマニフェストの権限 に関する Android Developer のドキュメントを参照してください。