Open5
AppLabにリリースするために、Androidアプリに署名する

技術構成
- XR Interaction Toolkit ver2.2.0
- OpenXR ver1.4.2
参考

VRC.Quest.Packaging.2
apksigner
が使えない件
- コマンドがないと言われている
-
この記事にならってパスを通してみる。
- 通したパス
C:\Program Files\Unity\Hub\Editor\2021.3.7f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\build-tools\30.0.2
- Pathを通した後のコマンドプロンプト
C:\Users\MyName>apksigner --version
ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
Please set the JAVA_HOME variable in your environment to match the
location of your Java installation.
- ちょっと面倒くさそうなのでいったんこの路線ストップ。そもそもUnityが勝手に署名してくれるのでは?
Unityで署名
- 以下は、Metaの公式ドキュメントより
Unityは、デフォルトで一時デバッグ証明書を使用してAndroidアプリに自動的に署名します。最終リリースビルドをビルドする前に、新規のAndroidキーストアを作成し、[Edit (編集)] > [Project Settings (プロジェクト設定)] > [Player (プレイヤー)] > [Publishing Settings (公開設定)]にある[Use Existing Keystore (既存のキーストアを使用)]オプションを使用して割り当てます。(詳しくはこれを見ろ
- また、フレームシンセシスにも同様なことが記述してある
apk ファイルをビルドする際に署名が必要です。Project Settings の Player > Publishing Settings > Keystore Manager… で署名ファイル(*.keystore)を作成して署名します。アプリのアップデートの際は同じ署名ファイルで署名する必要があります。設定したパスワードを忘れないように注意してください。プロジェクトファイルには保存されません。

概念
- キーストア:
-
キーストアとは、アプリケーションのセキュリティのための署名鍵を保持するコンテナです。
-

実行手順
- ProjectSettings > Publishing Settings > Keystore Manager...ボタンをクリック
- キーストアの作成
- Unity公式doc: キーストアの場所について
- プロジェクト内が分かりやすいかと思ったので、git管理されないようになどに注意しながら作成
- 必要な情報を入力し、keystoreとkeyを作成
- keyの作成が完了すると、自動で設定が反映される

ビルドに必要なキー
- Project Settings > Publishing Settings > Project Keystore > Custom Keystoreにチェックが入っている場合、その下のkeystoreとkeyの両方のパスワードを入力する必要がある(パスワードをいれないとビルドできない)
- チェックが入っていなければ、Development Keystoreが使われる模様。(パスワードを入れなくてもビルドできる)