Android App Bundle 이 서명되지 않았습니다.

이지훈·2023년 4월 10일
1
post-custom-banner

평소처럼 앱의 버그를 수정하고, 리팩토링을 진행한 후 업데이트를 진행하였는데, 다음과 같은 에러를 확인할 수 있었다.

'서명이 되지 않았다고?'

Build Bundle/APK 로 app bundle을 뽑아낸 것이 아닌,
Generate Signed Bundle/APK 를 통해, 기존의 사용했던 jks, alias 그대로, 비밀번호도 똑같이 입력 후 뽑아낸 것이기 때문에 그 이유를 납득하지 못하고 있었다.

그렇게 구글링을 해보았고
비슷한 문제를 해결하는 글들을 확인할 수 있었다.
바로 app 수준의 build.gradle 의 release 모드에서의 debuggable 설정을 false 로 바꿔주라는 것이었다.

buildTypes {
        getByName("debug") {
            buildConfigField("String", "SLOTH_BASE_URL", properties["DEBUG_BASE_URL"] as String)
        }

        getByName("release") {
            isDebuggable = false // <- 이 부분
            isMinifyEnabled = true
            proguardFiles(
                getDefaultProguardFile("proguard-android-optimize.txt"),
                "proguard-rules.pro"
            )
            buildConfigField("String", "SLOTH_BASE_URL", properties["RELEASE_BASE_URL"] as String)
            signingConfig = signingConfigs.getByName("release")
        }
    }

release 모드에서 디버깅을 할 필요가 있어, 해당 설정을 잠시 true 로 설정해놓았었고, 그것을 false 로 다시 돌려놓지 않아서 서명이 이뤄지지 않았던 문제였다.

debuggable 모드에서는 디버깅 및 로그 기록 등 디버깅에 필요한 정보들이 포함되어 있기 때문에, 이 정보들이 노출될 수 있는 보안 상의 위험이 있다. 따라서 release 모드에서는 앱의 무결성과 보안을 보장하기 위해 debuggable 설정을 false로 설정해야 한다.

참고)
https://velog.io/@soyoung-dev/AndroidError-Android-App-Bundle이-서명되지-않았습니다

profile
실력은 고통의 총합이다. Android Developer
post-custom-banner

0개의 댓글