티스토리 뷰

문제 상황

버전 업데이트를 할 때, 실제 상황과 동일하게 테스트를 하고 싶을 때가 있습니다. 

하지만 안드로이드 스튜디오에서 앱을 실행하거나 빌드하면, 기본적으로 debug 빌드 타입으로 앱이 빌드됩니다.

실제 서비스와 동일한 환경에서 테스트하거나, 디버깅 로그 없이 앱을 실행하고 싶을 때는 release 빌드로 앱을 실행하고 싶은 경우에는 빌드 세팅을 바꿔야합니다.

 

안드로이드 스튜디오는 기본적으로 debug를 기본 빌드 타입으로 인식하며, 실행(Run) 버튼을 눌러도 항상 debug 빌드가 실행됩니다.

그래서 다음과 같은 상황이 발생할 수 있습니다

  • 디버그 로그가 포함된 상태로 테스트됨
  • 난독화(ProGuard)가 적용되지 않음
  • 최적화되지 않은 상태로 앱이 동작
  • 릴리즈 빌드에서 발생하는 버그를 사전에 확인할 수 없음

이런 문제를 해결하기 위해, 기본 빌드 타입을 release로 변경하고 앱을 실행하는 방법을 알아보겠습니다.


1. 빌드 타입(Build Type)이란?

Build Type은 안드로이드 앱을 빌드할 때, 빌드 설정을 구분하는 단위입니다. 대표적으로 debug와 release 두 가지가 기본으로 존재합니다.

 

빌드 타입 설명

debug 개발 중 디버깅에 최적화된 빌드디버그 로그 출력, 프로가드 미적용, 서명 생략
release 사용자에게 배포 가능한 최종 앱 빌드로그 제거, 코드 난독화, 최적화, 서명 필요

 

각 빌드 타입은 build.gradle의 buildTypes 블록 안에서 설정할 수 있습니다:

buildTypes {
    release {
        isMinifyEnabled = true
        versionNameSuffix = ""
        proguardFiles(
            getDefaultProguardFile("proguard-android-optimize.txt"),
            "proguard-rules.pro"
        )
        signingConfig = signingConfigs.getByName("release")
    }

    debug {
        isMinifyEnabled = true
        versionNameSuffix = ".debug"
        proguardFiles(
            getDefaultProguardFile("proguard-android-optimize.txt"),
            "proguard-rules.pro",
        )
    }
}

2. 기본 빌드 타입을 Release로 변경하는 방법

안드로이드 스튜디오에서 실행(Run) 시 자동으로 release 빌드가 실행되도록 설정하려면 아래 방법 중 하나를 선택하면 됩니다.

✅ 방법 0. signingkey 발급(signingkey가 있다면 생략 가능)

  1. 상단 메뉴에서 Build > Generate Signed Bundle / APK.. 선택
  2. Android App Bundle 옵션 선택 후 Next
  3. Create new .. 선택 후 Key 정보 입력 후 생성

파일 경로와 Alias, Password은 이후 모드 설정에 필요합니다.

✅ 방법 1. Release 모드 설정 생성

  1. 상단 메뉴에서 Run > Edit Configurations 클릭
  2. 앱 모듈의 설정에서 Signing Configs를 선택
  3. release 가 없다면 +버튼을 눌러서 생성
  4. SigningKey를 생성했을 때, 키 정보를 입력 및 저장
  5. 해당 과정을 거치면 build.gradle에 release 빌드를 위한 설정이 적용

build.gradle이 변경되는 과정에서 원래 build.gradle의 일부 코드가 소실될 수 있습니다.

✅ 방법 2. Run/Debug Configuration 설정 변경

  1. Shift를 두번 눌러서 build variants를 검색하거나 오른쪽 하단의 build variants 탭을 눌러서 접근 가능
  2. Build Variants에서 release 모드로 변경

단, release 빌드는 signingConfig 설정이 필요하며 서명이 없으면 실행이 안 될 수 있습니다.


✅ 방법 2-1. build.gradle에서 기본 빌드 Variant 설정 (Gradle Task 용도)

빌드 자동화 목적으로 사용할 경우, Gradle 명령어를 통해 release 빌드를 직접 실행할 수도 있습니다.

./gradlew assembleRelease

혹은 APK 설치까지 진행하고 싶다면 다음의 방식을 사용할 수 있습니다.

./gradlew installRelease

⚠️ 주의 사항

  • 위의 문제가 발생한다면 하단과 같이 release 안에 signingConfig 설정 코드를 넣어줘야합니다.
  • release 빌드는 반드시 서명 설정이 필요합니다 (signingConfigs 설정 누락 시 빌드 실패)
  • 디버깅이 제한되므로, 디버깅이 필요한 경우에는 debuggable true 설정을 임시로 추가할 수 있습니다 (단 보안상 권장되지 않음)
buildTypes {
    release {
    	...
        signingConfig = signingConfigs.getByName("release")
    }
}

 

 

 

 

 

 

 

 

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함