[Android] 릴리즈 해시 키를 뽑아보자 (??? 출시하려니 로그인이 안돼요 ㅠㅠ)

2026. 3. 30. 18:27·Launching

동기

이제 슬슬 개발한 앱을 배포할 때가 왔습니다!

배포를 위해서는 릴리즈 키 등록과정을 꼭 거쳐야 해요.

특히나 제 앱은 구글 소셜 로그인을 지원하기 때문에 키를 등록하지 않으면 로그인 기능이 차단됩니다.

 

과거의 기억이 떠오르는데요.. 소셜 로그인이 분명 잘 되었는데 출시된 앱을 다운 받아 보니 로그인이 안 되어 멘붕이 왔던 적이 있습니다..

여러분은 울지 마시고 차분히 릴리즈 키 등록하시기 바랍니다 🥲

(플레이스토어 출시 후 해시 키 다시 등록하는 것도 잊지 마세요!!)

 

1. 키 생성

안드로이드 스튜디오 Build > Generate App Bundle or APK > APK > Create new 찾아줍니다.

 

[아래 내용은 제미나이가 알려줬어요!!]

  • Key store path: 오른쪽에 있는 폴더 아이콘을 누르고, 현재 프로젝트의 app 폴더 안을 선택한 뒤 파일 이름을 release.jks로 적어줍니다.
  • Password & Confirm: 키스토어 파일 자체의 비밀번호입니다. (꼭 기억하세요!)
  • Alias: 도장의 이름입니다. 보통 release 또는 key0이라고 적습니다.
  • Password & Confirm: 도장의 비밀번호입니다. (헷갈리지 않게 위의 키스토어 비밀번호와 똑같이 하시는 걸 추천합니다.)
  • Validity (years): 25로 둡니다. (25년 동안 유효하다는 뜻)
  • Certificate: First and Last Name 칸에 본인 이름이나 영어 닉네임 정도만 적어주시면 됩니다. (나머지는 비워둬도 무방합니다.)

 

Ok 눌러서 생성 완료합니다.

🚨 주의: 방금 만든 release.jks 파일과 설정한 비밀번호, Alias는 절대 잃어버리면 안 됩니다! 나중에 앱 업데이트할 때 이 도장이 없으면 구글 플레이가 업데이트를 거부합니다.

저는 이 키를 잃어버려 구글 플레이스토어에서 앱 자체를 새로 만든 적도 있답니다.. 여러분은 울지 마시고 잘 적어두세요 🥲

 

2. 프로젝트에 적용

local.properties 파일을 열어 방금 설정한 키 관련 값을 넣어줍니다.

절대 유출되면 안 되는 값들이에요!

KEYSTORE_PASSWORD=설정한_키스토어_비밀번호
KEY_ALIAS=설정한_Alias이름
KEY_PASSWORD=설정한_키_비밀번호

 

build.gradle.kts(:app) 파일을 열어주고, 아래 내용 채워줍니다.

val properties = Properties().apply {
    load(project.rootProject.file("local.properties").inputStream())
}

android {
    // 기존 코드 유지

    // ⭐ 1. 도장 정보 등록 (signingConfigs 블록을 여기에 추가합니다)
    signingConfigs {
        create("release") {
            storeFile = file("release.jks")
            // local.properties에서 값을 꺼내옵니다. (없을 경우를 대비해 안전하게 ?.toString() 처리)
            storePassword = properties["KEYSTORE_PASSWORD"]?.toString() ?: ""
            keyAlias = properties["KEY_ALIAS"]?.toString() ?: ""
            keyPassword = properties["KEY_PASSWORD"]?.toString() ?: ""
        }
    }

    defaultConfig {
        // 기존 코드 유지
    }

    buildTypes {
        debug {
		    // 기존 코드 유지
        }

        release {
            // ⭐ 2. 릴리즈 빌드할 때 위에서 만든 release 도장을 찍겠다고 선언
            signingConfig = signingConfigs.getByName("release")
            
            // 👽 3. debug 블록에 buildConfig 값 불러오는 코드 있다면, 여기에도 복붙!
            isMinifyEnabled = false
            proguardFiles(
                getDefaultProguardFile("proguard-android-optimize.txt"),
                "proguard-rules.pro",
            )
        }
    }
}

 

수정 완료되면 Sync & Build 해주세요!

 

3. 키 해시 추출

이제 키 해시를 추출합니다.

 

터미널(파워쉘)에 아래 명령어 입력해주세요.

./gradlew signingReport

 

그러면 터미널에 해시 키가 마구마구 뜹니다! 절대 유출되지 않게 혼자만 보십시오.

 

이 값을 이제 Firebase 콘솔에 넣어주면 되어요!

(Firebase 콘솔에만 등록해도, 연결된 구글 클라우드 콘솔에 자동으로 등록됩니다.)

 

새로운 키를 등록하면, json 파일 새로 다운 받아 교체해야 합니다!

 

이렇게 해시키 뽑기 완료입니다 👽

'Launching' 카테고리의 다른 글

[Android] Fastlane으로 App distribution 배포를 자동화해보자! (APK CD)  (0) 2026.03.30
'Launching' 카테고리의 다른 글
  • [Android] Fastlane으로 App distribution 배포를 자동화해보자! (APK CD)
오카룽
오카룽
Dart/Flutter, Kotlin, Android Jetpack, Jetpack Compose
  • 오카룽
    Okarun.dev
    오카룽
  • 전체
    오늘
    어제
    • 분류 전체보기 (20)
      • Architecture (1)
      • Android (14)
      • Flutter (0)
      • Collaboration (2)
      • Launching (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • Github
  • 공지사항

  • 인기 글

  • 태그

    sticky header
    android
    Kotlin
    slack
    android studio
    스크롤
    lazy column
    dynamic icon
    이미지 해상도 관리
    안드로이드
    list state
    스크롤 방향
    Actions
    플로팅
    github
    jetpack compose
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
오카룽
[Android] 릴리즈 해시 키를 뽑아보자 (??? 출시하려니 로그인이 안돼요 ㅠㅠ)
상단으로

티스토리툴바