Androidアプリの署名
更新日時: 2024/07/31
アプリのレビューを申請する前に、Android証明書によってアプリのリリースバージョンに署名する必要があります。
Androidは、デジタル証明書(キーストアとも呼ばれる)を使用して、アプリ作成者のIDを暗号方式により検証します。AndroidアプリをAndroidデバイスにインストールして実行するには、アプリが必ずこのような証明書によってデジタル署名されている必要があります。
すべての開発者は、承認を得るためアプリをMetaに提出する前に、独自の一意のデジタル署名を作成して署名する必要があります。詳しくは、Androidドキュメントの
アプリへの署名と
apksignerをご覧ください。
アプリの署名に使用する証明書ファイルは、必ず保存してください。これ以降のアプリのアップデートはすべて同じ証明書ファイルで署名する必要があります。
現在、Meta Questでは
3つのAPK署名スキームのうち、v1またはv2のいずれかを要件としています。v3スキームで追加署名されたアプリも承認されますが、現在のところv3署名は必須ではありません。使用するバージョンは、アプリのターゲットデバイスに応じて次のように決まります。
| ターゲットデバイス | 署名スキームのバージョン | 詳細 |
|---|
Meta Quest/Meta Quest 2 | v2とv1 | v2として署名するには、ヘッドトラッキング機能をマニフェストに追加する必要があります。詳しくは、 Androidアプリの署名をご覧ください。 |
Go | v1 | |
GoおよびMeta Quest | v1で署名しますが、アプリでヘッドトラッキングを使用する場合は、マニフェストでandroid:required="false"とマークします。 | |
apksignerツールを使用して、APKの署名を検証できます。そのためには、次のコマンドを使用します。
$ apksigner verify --verbose ~/path-to-apk/app-name.apk
次のような出力が表示されます。
Verifies
Verified using v1 scheme (JAR signing): true
Verified using v2 scheme (APK Signature Scheme v2): true
Verified using v3 scheme (APK Signature Scheme v3): false
Number of signers: 1
Androidアプリの署名のためのUnityの設定
Unityは、デフォルトで一時デバッグ証明書を使用してAndroidアプリに自動的に署名します。最終リリースビルドをビルドする前に、新規のAndroidキーストアを作成し、
[Edit (編集)] > [Project Settings (プロジェクト設定)] > [Player (プレイヤー)] > [Publishing Settings (公開設定)]にある[Use Existing Keystore (既存のキーストアを使用)]オプションを使用して割り当てます。詳しくは、Unityドキュメントの「
Android Player設定: Publishing Settings (公開設定)」をご覧ください。
GitHubのUnreal Engineの最新バージョンは、v2署名をサポートしています。古いバージョンのUnrealを使用してMeta Questアプリを公開している場合、アプリに正しく署名するためには、マニフェストを編集して正しい署名スキーマを使用するか、使用しているUnrealのバージョンに手動でパッチを適用する必要があります。詳しくは、Unrealドキュメントの
プロジェクトリリースの署名方法をご覧ください。
Androidキーストアがない場合は、上のリンクをクリックして任意のゲームエンジンプラットフォーム用の手順に沿って独自に作成するか、Android開発者ウェブサイトの
「アプリに署名」ページをご覧になりAndroid Studioを使用して生成してください。