[android] App Bundle의 라이브러리 충돌 해결 방법

안드로이드 앱을 빌드하고 배포하는 동안 라이브러리 충돌 문제는 종종 발생할 수 있습니다. 특히 Google의 App Bundle을 사용하는 경우, 모든 애셋이 번들링되어 충돌이 발생할 가능성이 높아집니다. 이번 게시물에서는 App Bundle의 라이브러리 충돌을 해결하는 방법에 대해 살펴보겠습니다.

1. 동일한 라이브러리의 버전 충돌 해결

앱을 빌드할 때, App Bundle은 모든 라이브러리의 버전을 확인하고 충돌을 해결합니다. 그러나 경우에 따라 충돌이 발생할 수 있습니다. 이 경우, gradle.properties 파일에 다음과 같은 코드를 추가하여 충돌을 해결할 수 있습니다.

android.useAndroidX=true
android.enableJetifier=true

android.useAndroidX=true는 AndroidX 라이브러리를 사용하도록 하고, android.enableJetifier=true는 AndroidX에 포함되지 않은 라이브러리를 자동으로 변환하도록 합니다.

2. 라이브러리 업데이트

가장 쉬운 방법 중 하나는 충돌이 발생하는 라이브러리를 최신 버전으로 업데이트하는 것입니다. 이렇게 하면 최신 버전의 라이브러리가 App Bundle에 포함되어 충돌이 해결될 수 있습니다.

implementation 'com.example.library:1.2.3'

위와 같이 해당 라이브러리를 최신 버전으로 업데이트합니다.

3. 라이브러리 제외

다른 방법으로는 충돌이 발생하는 라이브러리를 앱 번들에 포함하지 않고 제외하는 것입니다. 이를 위해 다음과 같이 build.gradle 파일에 해당 라이브러리를 exclude하는 코드를 작성할 수 있습니다.

bundle {
    density {
        enableSplit = false
    }
}

4. 프로가드 규칙 추가

충돌이 발생하는 라이브러리의 경우, 프로가드 규칙을 추가하여 충돌을 해결할 수도 있습니다. 해당 라이브러리의 문서를 참조하여 프로가드 규칙을 추가하세요.

이러한 방법을 사용하여 App Bundle의 라이브러리 충돌 문제를 해결할 수 있습니다.

참고 자료