[버그] app versionName에 비ASCII(한글) 포함 시 KakaoAgentInterceptor의 KA 헤더 생성에서 크래시

문의 시, 사용하시는 SDK 버전 정보와 디벨로퍼스 앱ID를 알려주세요.

Faq 목록 - 10. Android ( Faq 목록 입니다 ) 먼저 확인해주세요.


- SDK: com.kakao.sdk:v2-user 2.23.3

  • APP ID: 1052942

- 증상: versionName에 한글이 있으면(예: 2.4(stt-발화종료시-종료)) 카카오 네트워크 요청 시 OkHttp Dispatcher 스레드에서 FATAL로 앱 종료

- 스택:

▎ java.lang.IllegalArgumentException: Unexpected char 0xbc1c at 148 in KA value: … app_ver/2.4(stt-발화종료시-종료) …

▎ at okhttp3.Headers$Companion.checkValue

▎ at com.kakao.sdk.network.KakaoAgentInterceptor.intercept(KakaoAgentInterceptor.kt:34)

- 원인: KA 헤더에 app_ver/을 그대로 삽입. Android versionName은 유니코드가 허용되지만 HTTP 헤더값은 ASCII만 허용 → OkHttp가 거부.

- 기대: SDK가 헤더에 싣기 전 versionName을 ASCII로 sanitize / percent-encode 하거나 비ASCII 문자를 제거(앱이 유효한 유니코드 versionName을 쓸 수 있으므로 SDK 측 방어가 필요). 또는 서버가 헤더에 유니코드 지원
가능하다면, error trace에 “ascii만 지원” 출력

- 재현: versionName에 한글을 넣고 아무 카카오 네트워크 API 호출.
google play console의 “내부 앱 공유” 에서 aab나 apk 업로드 후 번들 이름에 한국어 추가 시 발현되는 것을 확인

ios에서도 동일 증상이 발현될 수 있습니다. ios도 크래시 발생하는지 확인 부탁드립니다!

안녕하세요

안드로이드SDK 담당자입니다. 제보주신 이슈에 대해서는 내부적으로 검토해보고 대응할 수 있도록 하겠습니다.

불편하시더라도 그 동안은 ASCII 문자 사용 부탁드리겠습니다.

이슈 제보주셔서 감사합니다.

2개의 좋아요