플레이스토어에 올린 앱에서 API를 사용하기 위해서는 [구글플레이 콘솔 - 설정 - 앱무결성 - 앱서명]에 있는 SHA값을 사용하면 된다.
앱 번들을 사용하게 되면 우리가 직접 생성한 키는 업로드키가 되며, 해당 업로드키로 사이닝하여 aab 파일을 스토어에 등록한다. 스토어에서는 별도의 서명키 (콘솔 계정에 연결된) 를 만들어 apk 파일을 재 생성한다. 즉 사용자가 받는 apk 파일은 우리의 인증서로 서명된 것이 아니기 때문에 앱 지문도 당연히 다르게 된다. 그래서 해줘야할 일은 스토어에서 만든 별도의 서명키에 대한 지문 정보를 파이어베이스에 등록해주는 것이다. 플레이콘솔의 앱을 선택하고 출시항목의 설정 메뉴에 들어가면 앱 무결성이라는 항목이 있다. 앱 번들을 한번 이라도 업로드 (내부테스트도 가능) 한 적이 있다면, 앱 무결성 화면에 "앱 서명 키 인증서" 라는 항목이 보이고 거기에 SHA-1 인증서 지문이 있을것이다. 해당 값을 등록해주면 끝.
gradle을 이용해 SHA 구하기
안드로이드 스튜디오 터미널에 gradlew signingReport를 입력하면 아래와 같이 SHA 값이 나온다
아래대로 해서 되는줄 알았는데 안됐다 ㅠㅠ
세방법 다 진행해도 안되는데 뭐가문제인지..
* What went wrong:
An exception occurred applying plugin request [id: 'com.android.application']
> Failed to apply plugin 'com.android.internal.application'.
> Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8.
You can try some of the following options:
- changing the IDE settings.
- changing the JAVA_HOME environment variable.
- changing `org.gradle.java.home` in `gradle.properties`.
* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
위와같은 에러가 나온다면 gradle.properties에 아래와같은 코드를 추가하면 에러가 수정된다.
경로는 자기가 설치한 자바의 위치를 넣으면된다.
org.gradle.java.home=C\:\\Program Files\\Java\\jdk1.8.0_291
해당 방법은 You can try some of the following options의 세번째 방법을 진행한것이므로, 해당방법으로도 수정이 안된다면 첫번째와 두번째의 방법도 진행해보는것을 추천한다.
KeyTool 을 이용해 SHA를 구하기
필자는 해당 방법을 이용해 SHA 를 구했다.
cmd창을 연 후에 프로젝트가 존재하는 폴더로 이동 후에 아래 커맨드를 입력하면 디버깅용 SHA값이 나온다.
# 디버그용 키값 구하기, openssl이 설치되어있어야하고, 프로젝트의 cmd창에서 입력해야한다.
keytool -exportcert -alias androiddebugkey -keystore "%USERPROFILE%\.android\debug.keystore" -storepass android -keypass android | openssl sha1 -binary | openssl base64
# 다시 검색해보니까 이게 릴리즈용이라고 나오네 뭐지
keytool -list -v -alias <앱의 key alias> -keystore <앱의 production keystore 파일 위치>
# 디버그용 keytool -list -v -alias androiddebugkey -keystore %USERPROFILE%\.android\debug.keystore # 릴리즈용 keytool -genkey -v -keystore release_key.keystore -alias release_key -keyalg RSA -keysize 2048 -validity 36500 테스트를 할때는 디버그용 SHA를 사용 추천
KeyTool이 없다는 멘트가 나오면서 진행이 되지 않으면 KeyTool을 먼저 설치한 후에 진행한다.
'프로그래밍 > Android' 카테고리의 다른 글
[Android] Dialog에서 getContext(), requireContext() 차이 (0) | 2021.12.14 |
---|---|
Floating Button 선 없애는법 및 설정 (0) | 2021.12.13 |
안드로이드 SVG, PSD 아이콘 추가 (0) | 2021.11.24 |
XML 화면을 만들때 개발 화면에서만 보이게 하는법(tools) (0) | 2021.10.26 |
갑자기 AVD가 부트창에서 부팅이 안될때 (0) | 2021.10.22 |
댓글