Godot4でjava.io.IOException: Invalid keystore format
が発生してAPKファイルのエクスポートが失敗するのをなんとかしたい!
概要
今回の記事では、Godot4でjava.io.IOException: Invalid keystore format
が発生してAPKファイルのエクスポートが失敗するのをなんとかする手順を掲載する。
仕様書
環境
- Gogot 4.2.1
手順書
下記のチュートリアルに従って、APKファイルをエクスポートしようとしたんだけども、java.io.IOException: Invalid keystore format
が発生して、実機で起動できないAPKファイルが作られてしまう。
keystoneファイルもチュートリアル通りに下記のコマンドでDebug用のを作成した。
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
このコマンドだと「Debug User」はandroiddebugkey
、「Debug Password」はandroid
になる。
んで、この内容でAPKファイルをエクスポートしようとすると私の環境ではjava.io.IOException: Invalid keystore format
が発生してしまう。
んでんで、いろいろ試しみて環境変数JAVA_HOME
の値が過去にUnityで使ってたOpenJDK 11のパスになってるのが原因というのが分かった。
公式のチュートリアルで指定されてるバージョンよりだいぶ古かったていう。
OpenJDK 17を配置して、環境変数JAVA_HOME
の値を配置したパスに変更する。下記はC直下に配置した場合の例。
C:\jdk-17.0.2
GodotのEditorを再起動して、再度エクスポートするとjava.io.IOException: Invalid keystore format
は発生せず、正常に実機で起動できるapkファイルが出力された!
まとめ(感想文)
Android Studio、Eclipse、Unity、Godot、JAVA_HOME
に依存するのが多くて、都度切り替えるのがめんどいと思う今日この頃。