[Flutter] java.security.NoSuchAlgorithmException: Algorithm HmacPBESHA256 not available

Flutter|2021. 8. 25. 18:38

계속 java.security.NoSuchAlgorithmException: Algorithm HmacPBESHA256 not available라며 apk build가 되지 않는 상황이 발생. (debug는 문제없음)

확인해보니, JDK 버전과 관련이 있는 문제인 것 같다.

 

1. build에 사용되는 binary file의 위치를 확인한다.

flutter doctor -v 명령어를 이용하면 되는데, Android toolchain - Java binary at: 부분에 나온 경로를 확인하면 된다.

 

2. keytool 경로 명시

이후 keytool로 key를 생성할 때 그냥 keytool만 사용하는 것이 아니라 1에서 확인한 경로를 명시하여 keytool을 사용.

내 경우에는

"C:\Program Files\Android\Android Studio\jre\bin\keytool" -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias pckey

로 생성했다.

 

3. 새로 생성한 key에 맞춰 key.properties를 변경하면 완료.

 

문제가 해결된 후, No key with alias 'key' found in keystore ~\key.jks 이런 오류도 떴는데...

전에 쓰던 명령어는 keytool -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key여서, 비교해보니 원래 key라고 쓰던 부분을 pckey라고 썼길래 key.properties에서 keyAlias=keykeyAlias=pckey로 고쳐줬더니 문제 없이 빌드되었다.

 

이후 환경변수도 flutter doctor -v로 확인한 binary 경로로 제대로 바꿔주었다.

댓글()