귀하가 최근 Google Play Store로부터 다음과 같은 이메일을 받았을 수 있습니다:

Play Core Maven 의존성을 Android 14 호환 버전으로 업데이트하십시오! 현재 Play Core 라이브러리는 목표 SDK 버전 34 (Android 14)과 호환되지 않으며, 사용자 보안을 향상시키기 위해 브로드캐스트 수신자에 대한 역호환적인 변경을 도입합니다. 언급드릴게 있습니다, 8월 31일부터 Google Play는 모든 신규 앱 배포시 Android 14를 목표로 설정하도록 요구합니다. 앱이 충돌하는 것을 피하려면 Play Core 라이브러리의 최신 버전 의존성을 업데이트하십시오: https://developer.android.com/guide/playcore#playcore-migration

이 SDK 버전으로 앱의 미래 버전을 생산 또는 개방 테스트에 배포할 수 없을 수 있습니다.

무서운 것 같죠?

그렇게 걱정하지 마십시오. 실제로는 보이는 것보다 쉽습니다.

변경에 대한 실제 내용

기본적으로 Google는 2022년 초부터 Play Core 라이브러리의 신규 버전을 더이상 배포하지 않습니다.


배포된 마지막 Play Core 라이브러리 버전

그리고 2022년 4월부터, 그들은 원래의 Play Core 라이브러리를 네 개의 별도의 라이브러리로 분리시켰습니다:

  • Play Assets Delivery Library
  • Play Feature Delivery Library
  • Play In-App Reviews Library
  • Play In-App Updates Library

라이브러리마다独自의 기능과 책임을 가지고 있습니다.

오래된 핵심 플레이 라이브러리는 특정 API 수준까지만 지원하므로, 최신 API 수준을 지원하는 새로운 라이브러리로 응용 프로그램을 마이그레이션해야 합니다.

적용할 필요가 있는 것은, 원래 핵심 플레이 라이브러리의 어떤 기능을 사용하고 있는지 파악하고, 그에 맞는 부분을 다운로드하는 것입니다. 예를 들어, 응용 프로그램의 새 버전이 사용 가능할 때 사용자에게 알릴 로직이 있다면, Play In-App-Updates 라이브러리를 취해야 합니다.

다음 두 가지 사용 사례를 제시합니다:

  • 네이티브 안드로이드 앱
  • Flutter 앱

사용 사례 – 네이티브 안드로이드 앱

네이티브 안드로이드 앱이라면, Kotlin이나 Java로 작성되었든지 관계없이, 다음을 수행해야 합니다:

  1. 응용 프로그램 수준의 build.gradle 파일을 엽니다
  2. 대부분 dependencies 블록下面就서, 다음과 같은 줄을 볼 것입니다:
implementation 'com.google.android.play:core-ktx:1.8.1'
  1. 이를 제거하고 이전 핵심 라이브러리에서 사용했던 것에 따라 대체해야 합니다

  2. Play In-App-Updates 라이브러리를 취하려면, dependencies 블록에 다음을 추가해야 합니다:

implementation 'com.google.android.play:app-update:2.1.0'
//응용 프로그램에서 Kotlin을 사용하고 있다면 아래의 의존성을 추가하세요
implementation 'com.google.android.play:app-update-ktx:2.1.0'
  1. 애플리케이션을 재ビル드하시고 모든 것이 제대로 작동하는지 확인하시기 바랍니다.

✋ 또한, import com.google.android.play.core.tasks.*;import com.google.android.gms.tasks.*;로 인포트 문구를 변경해야 할 수도 있습니다.

사용 사례 – Flutter 애플리케이션

Flutter는 Android와 iOS 모두를 위한 프레임워크이기 때문에, 이 경우는 위의 경우와 약간 다릅니다. Flutter 애플리케이션에서 핵심 play 라이브러리를 업그레이드하라는 경고를 받으면, pubspec.yaml 파일에서 사용 중인 라이브러리를 살펴봐야 합니다:

dependencies:
  flutter:
    sdk: flutter
  ...
  in_app_update: ^3.0.0

위에서 볼 수 있듯이, 애플리케이션이 in_app_update라이브러리에 의존하고 있으며, 새 버전의 애플리케이션이 사용 가능할 때 사용자에게 알림을 줄 수 있습니다. in_app_update의 pub.dev changelog 페이지로 가서 다음을 볼 수 있습니다:

버전 4.1.0은 필요한 지원을 추가하였습니다

따라서 우리는 pubspec.yaml 파일을 해당 버전(적어도)을 사용하도록 업데이트해야 합니다.

dependencies:
  flutter:
    sdk: flutter
  ...
  in_app_update: ^4.1.0

Pub get을 실행하시고 이어서 진행하시기 바랍니다.