【Godot 4.0】Androidアプリ（apkファイル）エクスポート手順

　Godot 4.0 RC1でAndroidアプリapkファイルをエクスポートしました。環境はWindows11です。
　https://downloads.tuxfamily.org/godotengine/4.0/
　（rc1/Godot_v4.0-rc1_win64.exe.zip） 

# まとめ
　Godotの最新ドキュメントの手順に従って設定しました。
 　https://docs.godotengine.org/en/latest/tutorials/export/exporting_for_android.html

　１．OpenJDK 11のインストール
　２．Android Studioをインストールして、SDK Managerから必要なツールをインストール
　３．デバッグ用KeyStoreファイルの作成
　４．Godotのエディター設定でAndroid SDKとデバッグ用KeyStoreファイルの場所を設定
　５．Godotのプロジェクト設定でAdvancedSettingsを有効にしてレンダリング＞テクスチャにあるImport ETC2 ASTCをオンにする。保存して再起動ボタンを押下する。
　６．プロジェクトメニューのAndroidビルドテンプレートのインストール...を実行。テンプレートの管理ボタンを押下後、ダウンロードしてインストールボタンを押下
　７．プロジェクトメニューのエクスポートを実行。追加..からAndroidを追加して、プロジェクトのエクスポート...ボタンを押下する



# １．OpenJDK 11のインストール
　[OpenJDK 11.](https://adoptium.net/?variant=openjdk11)をインストールします。

:::note warn
警告
[godotengine guthubのIssue#71732](https://github.com/godotengine/godot/issues/71732)によるとjdk11-openjdk on version 11.0.18.u10-1を使用してエクスポートすると「All 'apksigner' tools located in Android SDK 'build-tools' directory failed to execute. Please check that you have the correct version installed for your target sdk version. The resulting APK is unsigned.」というエラーになります。
[Release ArchiveのVersion11](https://adoptium.net/temurin/archive/?version=11)から11.0.17_8のJDK Installerを使用すると無事エクスポートできました。
:::

# ２．Android Studioをインストールして、SDK Managerで必要なツールをインストール
　[Android Studio Electric Eel  2022.1.1](https://developer.android.com/studio/)をインストールしました。
 　インストール後、Android Studioを起動してSDK Managerを起動します。
　SDK Manager起動メニューはWelcome to Android Studio画面ならMore Actions...の中や、プロジェクトを開いた後ならToolsメニューにあります。

 　以下をチェックしてOK押下してインストールしました。

　（１）SDK Platformsタブ
　　Android SDK Platform 31を指定されているので、API Level31のAndroid 12.0をチェックしました。
![sdk_manager_sdk_platforms.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/691050/9ccc3327-2c82-ddc5-6324-30876da21309.png)


　（２）SDK Toolsタブ
　　下記にチェックを追加しました

- [ ] Android SDK Build-Tools 34-rc1
- [ ] NDK (Side by Side) 
- [ ] Android SDK Command-line Tools(latest)
- [ ] CMake
- [ ] Android SDK Platform-Tools

![sdk_manager_sdk_tools.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/691050/76604c9d-5308-b877-5d8b-c5228569eaca.png)


# ３．デバッグ用KeyStoreファイルの作成
 デバッグ用KeyStoreファイルを格納したいディレクトリを右クリックして「ターミナルで開く」を実行して、下記のコマンドをそのまま実行。
　androiddebugkey とandroid はGodotのエディター設定と合わせること。

 ```bash
keytool -keyalg RSA -genkeypair -alias androiddebugkey -keypass android -keystore debug.keystore -storepass android -dname "CN=Android Debug,O=Android,C=US" -validity 9999 -deststoretype pkcs12
```

# ４．Godotのエディター設定でAndroid SDKとデバッグ用KeyStoreファイルの場所を設定
　Godotを起動してプロジェクトを作成してください。レンダラーなどは初期値(Forward+)のままでOKです。
　エディターメニューからエディター設定を実行後、エクスポート＞Androidを選択してAndroid SDK PathとDebug Keystoreを指定します。

　　Android SDK Path　　：　タスクバーの検索等で%LOCALAPPDATA%を入力して開いたところの、Android\Sdkを設定
　　　　　　　　　　　　　　（C:\Users\ユーザ名\AppData\Local\Android\Sdk）
　　Debug Keystore　　　：　3項で作成したデバッグ用KeyStoreファイルを設定
![editor_settings.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/691050/47045a68-b5f2-e0f3-bb0c-4677c743bc68.png)


# ５．Godotのプロジェクト設定でAdvancedSettingsを有効にしてレンダリング＞テクスチャにあるImport ETC2 ASTCをオンにする。保存して再起動ボタンを押下する。

　プロジェクトごとに設定する必要があります。
　プロジェクトメニューからプロジェクト設定を実行。右上の「Advanced Settings」を有効にしてください。
　左側のレンダリング＞テクスチャの「Import ETC2 ASTC」をオンにします。
　下のほうに表示される、保存して再起動ボタンを押下します。

![project_settings_render_texture.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/691050/6a494ca6-608e-95f6-faa9-9f0053d40a7d.png)

# 　６．プロジェクトメニューのAndroidビルドテンプレートのインストール...を実行。テンプレートの管理ボタン後、ダウンロードしてインストールボタンを押下

![install_android_build_templete.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/691050/57e66a4d-5d66-d212-4269-77734b0acc6a.png)

# ７．プロジェクトメニューのエクスポートを実行。追加..からAndroidを追加して、プロジェクトのエクスポート...ボタンを押下する

　プロジェクトメニューからエクスポートを実行します。
　追加ボタンを押下して、Androidを追加します。
　下のほうの「プロジェクトのエクスポート...」を押下・実行すると、apkファイルが生成されます。
　（「"Min SDK" should be greater or equal to 24 for the "mobile" render」というWarningは無視しました）

![export.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/691050/49c664ef-e25a-c715-2cde-76212386e49c.png)

　あとはapkファイルをAndroid端末にファイル転送して、Androidのファイルアプリで実行してください。
　
　

　以上です。