상세 컨텐츠

본문 제목

[Android] Android API 28이상 타겟팅 시 구글맵뷰 호환성(Compatibility) 이슈

프로그래밍/안드로이드

by 우뇽킴 2020. 9. 30. 14:54

본문

안녕하세요~ 우뇽킴입니다.

 

기존에 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'
}

 

 

문제를 해결하기 위해 구글링을 해보니 다음과 같은 해결 방법이 다른 블로거분의 글에 포스팅 되어있었습니다. 

 

 

 

react native 버전업시 발생하는 트러블슈팅 – 모람씨앤티

스마트폰 SDK가 최신버전으로 업그레이드시 npm 을 통해 받은 node_modules들이 예전에 작성하고 업데이트가 안되어 있는 경우 아래처럼 직접 수정해야 하는경우가 발생하여 간단히 정리해봄. 1. 타��

blog.moramcnt.com

요지는 안드로이드 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'

 

문제해결!

 

구글맵뷰가 실행하려고 했던 비정상종료되거나 튕겼던 문제가 해결되었습니다.ㅋ

 

혹시 비슷한 이슈 발생 시 참고하시기 바랍니다~

관련글 더보기

댓글 영역