네이버 로그인 SDK가 에러를 반환하는 것을 파악했다.
사용중인 네아로 패키지 : https://pub.dev/packages/flutter_naver_login
flutter_naver_login | Flutter package
A Flutter plugin for using the native Naver Login SDKs on Android and iOS.
pub.dev
1. 문제 현상
Flutter Android 앱에 네이버 로그인 SDK를 적용한 후, R8/ProGuard를 활성화하면 네이버 로그인 API 응답에서 아래와 같은 오류가 발생
<print로 찍어본 response>
{ status: NaverLoginStatus.error, account: { nickname: , id: , name: , email: , gender: , age: , birthday: , birthyear: , profileImage: , mobile: , mobileE164: }, errorMessage: errorCode:no_catagorized_error, errorDesc:no_catagorized_error, accessToken: { accessToken: , refreshToken: , expiresAt: , tokenType: } }
errorCode : no_catagorized_error
errorDescription : 인증을 진행할 수 있는 앱이 없습니다.
2. 원인 분석
R8/ProGuard는 코드 난독화를 수행하여 앱의 크기를 줄이고 보안을 강화하는 역할을 한다. 하지만 이 과정에서 네이버 로그인 SDK가 필요한 특정 클래스나 메서드를 찾지 못하는 문제가 발생할 수 있다.
특히, 네이버 로그인 SDK 내부적으로 앱 정보를 가져오는 과정에서 문제가 발생하여 no_categorized_error가 반환되는 것으로 보인다.
3. 해결 방법
이 문제를 해결하기 위해 gradle.properties 파일에 아래 설정을 추가해 R8의 fullMode를 비활성화한다.
해결 방법 적용하기
- android/gradle.properties 파일 열기
- 아래 속성을 추가
- android.enableR8.fullMode = false
- 프로젝트를 Invalidate Caches & Restart 한 후 다시 빌드 및 실행
4. 결과
위 설정을 적용한 후, 네이버 로그인 SDK가 정상적으로 동작하며 no_categorized_error가 더 이상 발생하지 않고 정상적인 response를 반환한다.
android.enableR8.fullMode = false 를 설정하는 방법이 실패한다면, ProGuard 규칙을 설정하거나 SDK를 확인
'Flutter' 카테고리의 다른 글
[Flutter] IOS 배포심사 리젝 (ITMS-91061) (0) | 2025.02.24 |
---|---|
[Flutter] 웹 라우팅을 Go Router 적용 (0) | 2025.02.18 |
[Flutter] Xcode 16 업데이트 대응 (2) | 2024.09.30 |
[Flutter] Android Studio에 GitHub Copilot 설치하기 (2) | 2024.09.23 |
[Flutter] 화면 계속 켜두기 (절전모드 전환방지) (0) | 2024.09.09 |