google play consoleでapkファイルのアップロードでエラーになる
unityで特に設定を変えずにandroid用にビルドを行い、そのままgoogle consoleに出来たapkファイルをアップロードしたところ以下のエラーが発生
リリースモードで署名する必要があるとのこと…
これはつまりセキュリティの問題なんでしょうね。
で、Unity上で何をすればいいわけ?
というわけで調べました。
そもそも署名付きってどーゆーことって話からですが、署名を作ると次回のビルド時からパスワードを要求されます。
パスワードを忘れてしまうとビルド自体が出来なくなってしまうので注意してください。
Unity上で署名付きapkファイルの作り方
File➡Build Setting➡PlatformをAndroid選択➡Player Settings➡Player➡Publishing Settings➡Keystore Manager➡Ketstore➡Create New➡Anywhere
でエクスプローラーが表示されます。
デフォルトパスは現在開いているプロジェクトのフォルダ直下になっているかと思いますので、とりあえずそのままでもOKかと思います。
ファイル名を好きな値に変えましょう。
その後入力欄が活性化するので最低限
Password
confirm password
alias
Password
confirm password
を入力します。
これで署名が完了したので再度ビルドし、署名付きapkファイルを作成します。
で、再度アップロードしたところ、ちゃんとアップロード完了しました。
アプリ公開は結構落とし穴が多いですね…
これで終わりかなって思ってたらエラー発生です。
アプリの容量が最適化されていないとのこと。
Android App Bundleでビルドすると最適化できるようなことらしいのですが、Unity上ではどうするの?
これはすごい簡単でした。
Build SettingsでBuild App Bundle(Google Play)にチェックをつけるだけです。
この状態でビルドするとapkファイルでなくaabファイル(Android App Bundleファイル)が作成されます。
これでビルドしてアップロードするとgoogle console側で勝手に最適な容量でapkファイルを作ってくれるそうです。
これでやっと終わったかーっと思っていたら今度はこんなエラー
64ビットでないってなんやねーん。
これも結局Unityのビルド設定の問題でした。
Scripting Backend➡IL2CPPへ変更し
ARM64のチェックをオン
あと最後に利用可能な国を選択しないといけないようです。
これはgoogle play console➡価格と配布➡国
で利用可能な国を選択します。
デフォルトでは利用可能な国は0なのでどこにも配布できないことになり、エラーが発生するようです。
ひとまず全ての国に対して利用可能にしました。
これでアップロード完了しました…
ここまでで2時間ほど掛かってます。
まだまだ先は長いですねー