안녕하세요~ 우뇽킴입니다.
기존에 Android API 레벨 28로 설정하여 운영중이던 앱이 있었는데,
이번 2020년 11월 전까지 구글 정책에 따라 구글 플레이 스토어에 Android API를 29로 타겟팅하여 올려야해서 앱 테스트중에 발생된 이슈입니다.
Android API 레벨 29로 올려서 타겟팅 시 구글맵뷰가 실행 되면,
앱이 비정상종료되거나, 튕기는 현상이 발생했었습니다.
(* 테스트하면서 알게 되었는데, 이미 현재 운영중인 앱에서 사실은 API 레벨28에서도 동일한 증상이 발생했었더라구요.)
앱수준에서의 build.gradle설정에서 기존 API 레벨 28 타겟팅 시 아래와 같이 dependecies 를 설정되어있었습니다.
dependencies {
api fileTree(include: ['*.jar'], dir: 'libs')
implementation 'com.google.android.gms:play-services-maps:16.0.0'
implementation 'com.google.firebase:firebase-messaging:17.3.4'
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support:design:28.0.0'
implementation 'com.android.support:recyclerview-v7:28.0.0'
implementation 'com.android.support:animated-vector-drawable:28.0.0'
implementation 'com.android.support:support-media-compat:28.0.0'
implementation 'com.android.support:support-v4:28.0.0'
implementation 'com.android.support:multidex:1.0.3'
implementation 'com.google.android.gms:play-services-base:16.0.1'
implementation 'com.google.android.gms:play-services-auth:16.0.1'
}
문제를 해결하기 위해 구글링을 해보니 다음과 같은 해결 방법이 다른 블로거분의 글에 포스팅 되어있었습니다.
요지는 안드로이드 API레벨 28이상 타겟팅하는경우
Play Service와 Firebase의 버전이 서로 호환될 수 있는 버전으로 호환되어야 했습니다.
문제가 발생했던 앱의 dependencies에서 구글맵에 관련된 Play Service 버전을 다시 확인해보면 아래와 같습니다.
implementation 'com.google.android.gms:play-services-maps:16.0.0'
이 부분을 다음과 같이 변경하였더니,
implementation 'com.google.android.gms:play-services-maps:16.1.0'
문제해결!
구글맵뷰가 실행하려고 했던 비정상종료되거나 튕겼던 문제가 해결되었습니다.ㅋ
혹시 비슷한 이슈 발생 시 참고하시기 바랍니다~
댓글 영역