[Flutter] Firebase에 사용할 SHA1, SHA-256 확인하기
너무 삽질을 했어서 나중에 이런 상황이 발생하거나 도움이 필요한 사람들을 위해 메모
환경:
- Macbook Pro (M3 Pro) 14.6.1
- VS Code
1. 문제
- Firebase 전화 인증을 위해 구성하던 중, 안드로이드는 디지털 지문 추가를 해야 했다.
- 이를 위해 터미널에서 ./gradlew signingReport 를 사용했으나 java가 없다는 오류가 발생
- java 홈페이지에서 m시리즈용 8버전을 받았으나 'Could not resolve all files for configuration 'classpath'. 오류가 발생
- 이에 최신 버전인 23을 설치했으나 'Execution failed for task ':gradle:compileGroovy' 오류가 발생
- 오류 코드 중에 11버전이 있어 8과 23을 제거하고 11버전 설치했으나 'Build failed with an exception' 오류가 발생
- Android Gradle plugin이 Java 17을 필요로 한다고 한다.
2. 해결
- (Homebrew가 설치되어 있다는 가정 하에) 터미널에서 다음 코드 입력
brew install openjdk@17
- 설치가 끝나면 기본 버전 설정 및 환경 변수 설정 가이드가 나오는데 해당 코드 입력
sudo ln -sfn /opt/homebrew/opt/openjdk@17/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-17.jdk
echo 'export PATH="/opt/homebrew/opt/openjdk@17/bin:$PATH"' >> ~/.zshrc
(위는 예시일 뿐 터미널에 표기된 코드를 복붙하자)
이후 VS Code에서 터미널을 열고 cd android로 프로젝트의 android 폴더로 이동,
./gradlew signingReport
코드를 입력하면 잠시 뒤 결과가 출력되는데 스크롤을 조금 내리면 SHA1과 SHA-256을 확인할 수 있다.