유니티 안드로이드 작업하다보면 키스토어 내보내기 및 업로드를 해야할 때가 있다.
설명서대로
java -jar pepk.jar --keystore=foo.keystore --alias=foo --output=output.zip --include-cert --encryptionkey=mykey_xxyyzz...
이런식으로 생성하라고 하는데 정작 이걸 실행 시
제목처럼
Error: A JNI error has occurred, please check your installation and try againException in thread "main" java.lang.UnsupportedClassVersionError: com/google/wireless/android/vending/developer/signing/tools/extern/export/ExportEncryptedPrivateKeyTool has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
이런 에러가 나올때가 있다.
java 버전이 안맞아서 생기는 문제인데
이럴 때는 유니티 OPENJDK 폴더로 이동해서 해결하였다.
C:\Program Files\Unity\Hub\Editor\2022.3.14f1\Editor\Data\PlaybackEngines\AndroidPlayer\OpenJDK\bin
중간에 있는 2022.3.14f1 은 본인 유니티 버전에 맞게 변경해서 윈도우 탐색기로 이동한다.
해당 폴더에서 shift + 마우스 우클릭하여 나오는 메뉴에서 파워쉘 실행을 한다.
그리고 안내한 명령어를 입력한다.
./java.exe -jar "D:\aaa\bbb\pepk.jar" --keystore="D:\aaa\bbb\foo.keystore" --alias=foo --output="D:\aaa\bbb\output.zip" --include-cert --encryptionkey=mykey_xxyyzz...
강조된 부분을 본인 환경에 맞춰서 수정 후 해당 위치에서 실행하면
암호를 묻는다.
Enter password for store 'foo.keystore': 키스토어 암호 입력
Enter password for key 'foo': 키암호 입력
정상적인 암호를 입력하면 output 폴더에 파일이 생겨있을 것이다.