Android KNSDK / KMLocation 사용 시 telephony radio access 없는 기기에서 LTE CellInfo 호출 관련 크래시 대응 방법 문의

안녕하세요.

Android 카카오내비 길찾기 SDK 사용 중, telephony radio access가 없는 기기/환경에서
KNSDK 내부 LTE/CellInfo 수집 경로와 관련된 것으로 보이는 크래시 대응 방법을 문의드립니다.

사용 환경:

  • Android SDK: com.kakaomobility.knsdk:knsdk_ui:1.12.8-hotfix02
  • transitive KMLocation: com.kakaomobility.location.library:kmlocation:1.105.0
  • 앱 환경: React Native / Expo Android
  • 위치 권한: ACCESS_FINE_LOCATION 사용
  • 문제 기기 조건: PackageManager.FEATURE_TELEPHONY_RADIO_ACCESS 또는 FEATURE_TELEPHONY가 없는 기기/환경

문제 배경:
Android 문서상 TelephonyManager.requestCellInfoUpdate()는
PackageManager.FEATURE_TELEPHONY_RADIO_ACCESS가 없는 기기에서 UnsupportedOperationException이 발생할 수 있다고 되어 있습니다.

저희 앱에서는 Kakao SDK 초기화/안내 시작 후 내부적으로 LTE/CellInfo 관련 API가 주기적으로 호출되는 것으로 보이며,
radio access가 없는 기기에서 Telephony 관련 예외가 발생할 가능성이 있어 보입니다.

확인한 내용:

  • knsdk_ui:1.12.8-hotfix02 AAR 내부에 KNLTESignalDetector 경로가 있고,
    해당 경로는 getSystemService(“phone”) / requestCellInfoUpdate()를 사용합니다.
  • transitive dependency인 kmlocation:1.105.0의 LteDataSource에서도
    getSystemService(“phone”) 후 getAllCellInfo() 또는 requestCellInfoUpdate()를 호출하는 경로가 있습니다.
  • 앱 쪽에서 임시로 TELEPHONY_SERVICE를 null로 반환해 Kakao 내부 LTE 경로를 skip시키는 우회를 적용해 보았으나,
    이를 전역으로 적용하면 React Native NetInfo 등 다른 라이브러리에서 TelephonyManager null NPE가 발생합니다.
    따라서 전역 우회는 부적합합니다.

문의드리고 싶은 내용:

  1. KNSDK/KMLocation에서 LTE/CellInfo 기반 보조 측위를 비활성화하는 공식 API나 설정이 있나요?
  2. FEATURE_TELEPHONY_RADIO_ACCESS 또는 FEATURE_TELEPHONY가 없는 기기에서는 앱에서 Kakao SDK 초기화/안내 시작 전에 어떤 guard를 해야 하나요?
  3. 현재 공개 버전인 knsdk_ui:1.12.8-hotfix02 / kmlocation:1.105.0에서 이 케이스가 이미 대응된 상태인가요?
  4. 만약 공식 비활성화 옵션이 없다면, Kakao SDK 호출 스택에서만 TELEPHONY_SERVICE를 null로 반환해 LTE 경로를 skip시키는 방식이 안전한 우회인지 확인 부탁드립니다.
  5. 이 문제가 수정된 예정 버전 또는 별도 hotfix가 있는지도 궁금합니다.

저희가 원하는 동작은 telephony radio access가 없는 기기에서도 길안내/GPS 기반 안내는 정상 동작하고,
LTE/CellInfo 보조 측위만 사용하지 않도록 하는 것입니다.

확인 부탁드립니다.
감사합니다.

아 그리고 무료 쿼터 사용량 정말 혜자스러워서 카카오 sdk 만족하고 잘쓰고 있습니다. 감사합니다.

추가로 developer 실시간 사용량 부분 아래 기간 segment control 을 눌러도 예전에는 그래프가 나왓는데
지금은 아무것도 나오지 않습니다.