[Android] Gradle 빌드시에 Signing key로 서명하도록 설정하기

2023. 3. 1. 18:47·Android/Basic
반응형

이번 포스트에서는 Gradle 빌드시에 Signing key를 서명하도록 설정하는 방법을 정리하겠습니다.

 

Play store에 앱을 업로드하려면 Bundle 혹은 APK에 앱 서명을 해야합니다. 

 

그래서 서명하기 위한 일반적인 방법으로는 [Build]-[Generate Signed Bundle / APK]에서 keystore 정보를 입력해주는 방법이 존재하지만 이 방법은 APK 생성할때마다 매번 입력해주어야 하므로 꽤 번거롭습니다.

 

[Build]-[Generate Signed Bundle or APK]

 

또한, keystore에 대한 정보는 깃과 같은 외부 저장소에 올려서 노출되어서는 안되므로 주의해야 합니다.

그래서 이번 포스트에서는 Gradle의 sIgningConfings 설정을 통해 빌드시에 keystore로 안전하게 앱 서명을 하는 방법을 정리하겠습니다.

gradle.properties에 Signing key 정보 입력

Signing key에 대한 정보들은 보안상 반드시 외부에 노출되지 않도록 해야합니다.

 

그래서 안드로이드의 build.gradle에서 사용할 변수들은 gradle.properties에 저장하고 불러올 수 있으므로 gradle.properties에 keystore에 대한 정보를 입력해주고 VCS에 올라가지 않도록 주의합니다.

 

singing key 정보

build.gradle 설정

아래와 같이 gradle.properties에 입력해주었던 keystore 정보들을 signingConfigs에 저장하도록 설정합니다.

signingConfigs {
    release {
        keyAlias KEY_ALIAS
        keyPassword KEY_PASSWORD
        storeFile file(STORE_FILE)
        storePassword STORE_PASSWORD
    }
}

buildTypes release에 singingConfig을 등록해주면 release 빌드시에 keystore 정보를 보고 앱 서명을 진행합니다.

buildTypes {
    release {
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        signingConfig signingConfigs.release
    }
}

 

전부 설정을 마치고 release 빌드를 진행하면 앱 서명이 완료되어 있는 것을 확인할 수 있습니다.

반응형
'Android/Basic' 카테고리의 다른 글
  • [Android] BuildConfig과 ProductFlavors로 빌드 변형 구성하기 (Configure Build Variants)
  • [Android] Gradle 프로젝트에 remote 라이브러리 대신 외부 모듈 불러오기
  • [Android] Multidex 설정하기, Proguard 난독화로 앱 용량 줄이고 빌드속도 줄이기
  • [Android] Service 정리
seunghwaan
seunghwaan
공부한 내용을 정리하는 개발 기록 블로그
  • seunghwaan
    SH's Devlog
    seunghwaan
  • 전체
    오늘
    어제
    • 분류 전체보기 (144)
      • Android (62)
        • Basic (17)
        • Kotlin(Java) (14)
        • UI & Animation (1)
        • Compose (2)
        • Coroutines (1)
        • Dependency Injection (6)
        • RxJava (8)
        • BLE (3)
        • TDD (2)
        • JetPack (1)
        • NextStep (4)
        • Error Log (3)
      • Flutter (14)
        • Basic (5)
        • Dart (1)
        • State Management (2)
        • Widgets (4)
        • Error and Tips (2)
      • CS(Computer Science) (18)
        • Network (4)
        • Database (10)
        • Design Pattern (1)
        • Computer Architecture (3)
        • Operating System (0)
      • iOS (8)
        • Basic (0)
        • Swift (8)
      • Cloud (6)
        • AWS (6)
      • Web Frontend (0)
        • JavaScript(TS) (0)
        • React (0)
      • DevOps (25)
        • GIT (4)
        • CI CD (8)
        • Linux (4)
        • Docker (9)
        • Error Log (0)
      • 코딩테스트 (10)
        • DB (6)
        • 알고리즘 (4)
      • Backend (1)
        • Spring (1)
      • Mac Tip (0)
      • Temporary (0)
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

    CI
    FLUTTER
    cs
    MySQL
    RxJava
    Android
    Algorithm
    컴퓨터공학
    네트워크
    di
    Swift
    Dagger
    gradle
    cognito
    error
    Network
    database
    AWS
    Jenkins
    Linux
    시작하세요! 도커
    CICD
    Computer Science
    cd
    BLE
    docker
    상태 관리
    Kotlin
    IOS
    Dependency Injection
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
seunghwaan
[Android] Gradle 빌드시에 Signing key로 서명하도록 설정하기
상단으로

티스토리툴바