2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Godotでaabファイルつくってアプリ公開しました

Last updated at Posted at 2023-10-07

 Godot4.1.1で開発したゲームをGoogle Playで公開しました。
 ご興味があれば是非一度遊んでみてください。

 Google Playにアプリを公開するためには、apkファイルではなく、aab(Android App Bundle)というファイル形式にする必要があります。デジタル署名も必要です。その方法をまとめました。

GoogleのAndroid Developperを参考にしました。というかそのままです。
https://developer.android.com/games/engines/godot/godot-export

APKファイルエクスポートの設定

 事前にAPKファイルのエクスポートができるようにしましょう。ここのプロジェクト設定や、デバッグ用キーストアの設定がaabファイルの作成にも必要です。

キーストアの作成

Google Playに登録するアプリのaabファイルに、デジタル署名する必要があります。
まずはデジタル署名に使う「キーストア」を作成しましょう。

 この後作成するキーストアファイルはとても大事なものです。無くした場合アプリを更新できなくなるので、大切に保管しましょう。間違ってgitなど、誰でもアクセスできるところには置かないように注意しましょう。

(1)ターミナルを開く
 キーストアファイルを保存するフォルダを右クリックして、「ターミナルで開く」を実行しましょう。
 PowerShellが起動します。

(2)keytoolコマンドでキーストアファイルを作成しましょう。
「GodotのExporting for Android」にあるように、keytoolコマンドでキーストアファイルを作成しましょう。

keytool -v -genkey -keystore mygame.keystore -alias mygame -keyalg RSA -validity 10000

「mygame.keystore」はキーストアファイルのファイル名です。「-alias」の後の「mygame」がキーストア内エイリアス名です。管理しやすい名前を指定しましょう。
 あとで、Androidエクスポートプリセットの「リリース」にキーストアファイルを設定して、「Release User」にキーストア内エイリアス名を設定します。

 例として下記の表のように設定してみました。

項目 設定内容
キーストアファイル名 footinglow.keystore
キーストア内エイリアス名 footinglow
キーストアのパスワード 忘れないものにしましょう
姓名 佐藤 勇太郎
組織単位名 (未入力)
組織名 (未入力)
住所 千葉県館山市
PS C:\user\keystore> keytool -v -genkey -keystore footinglow.keystore -alias footinglow -keyalg RSA -validity 10000
キーストアのパスワードを入力してください:
新規パスワードを再入力してください:
姓名は何ですか。
  [Unknown]:  SATO YUTARO
組織単位名は何ですか。
  [Unknown]:
組織名は何ですか。
  [Unknown]:
都市名または地域名は何ですか。
  [Unknown]:  TATEYAMA-SHI
都道府県名または州名は何ですか。
  [Unknown]:  Chiba
この単位に該当する2文字の国コードは何ですか。
  [Unknown]:  JP
CN=SATO YUTARO, OU=Unknown, O=Unknown, L=TATEYAMA-SHI, ST=Chiba, C=JPでよろしいですか。
  [いいえ]:  y

10,000日間有効な2,048ビットのRSAの鍵ペアと自己署名型証明書(SHA256withRSA)を生成しています
        ディレクトリ名: CN=SATO YUTARO, OU=Unknown, O=Unknown, L=TATEYAMA-SHI, ST=Chiba, C=JP
[footinglow.keystoreを格納中]

10000日有効なので、27年以上有効です。

Androidビルドテンプレートのインストール...

aabファイルをビルドするために必要な環境をインストールしましょう。

(1)「プロジェクト」メニューから「Androidビルドテンプレートのインストール...」を実行します。
2023-10-03 (7).png

(2)インストールの実行
 「インストール」ボタンを押下して、インストールを実行しましょう。
 プログレスバーで進捗状況がわかります。

(3)Androidビルドテンプレートのインストール先
 プロジェクトのトップ階層に「android」フォルダが作成されて、その中にインストールされるようです。

エクスポートプリセットをつくる

 Androidのaabファイルをエクスポートするためのプリセットを作りましょう。

(1)「プロジェクト」メニューの「エクスポート」を実行
(2)「追加...」ボタンから「Android」を選択します
2023-10-03 (3).png

(3)Android用のプリセットを編集しましょう
 

項目名 設定内容
名前 Androidのaabファイル作成用の環境とわかる名前にしましょう
エクスポート先のパス 拡張子は「.aab」です
Use Gradle Build オン
エクスポート形式 Export AAB
armeabi-v7a オン
arm64-v8a オン
リリース キーストアファイル
Release User キーストアファイル作成時に「-alias」で設定したキーストア内エイリアス名
Release Password キーストアのパスワード(平文で表示されるので、人に見られないようにしましょう)
バージョン コード リリースのたびにカウントアップします
バージョン 名前 リリースのたびに更新が必要です
パッケージ 固有名 他と被らないユニークな文字列ということで悩みましたが、一番安直にcom.footinglow.android.$gennameとしました。
パッケージ 名前 ディフォルトのまま空欄です。プロジェクト設定の名前が使われるのだと思います。

2023-10-05.png
パスワードは平文で表示されているため、消しました。ユーザ名は例の「footinglow」だけ残るようにしています。

2023-10-07.png

パスワードは「.godot\export_credentials.cfg」に平文で格納されています。取り扱いに注意しましょう。

aabファイルの作成実行

「プロジェクトのエクスポート...」ボタンを押下して、aabファイルをエクスポートしましょう。
 この時に「デバッグ付きエクスポート」のチェックをはずしましょう。

2023-10-05 (1).png

 デバッグ付きエクスポートにチェックを入れたままエクスポートしたaabファイルをGoogle Play Consoleにアップロードすると「Android App Bundle は署名されていません。」とエラーになります。

 初回は真っ黒なターミナルウインドウが開いて、何も表示されないため不安になりますが、しばらく(1分くらい?)待つとログが表示されます。

2023-10-03 (16).png

最後はこんなログで終わります。スクショのタイミングが難しくて、画面が消えかかっているときにスクショしたのでちょっと色が薄いです。
2023-10-03 (20).png

終わりに

 一度設定すると簡単にaabファイルを出力できます。便利です。

以上です。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?