네이버 로그인 이슈 (Android)

네이버 로그인 이슈 (IOS)

이번에는 네이버 로그인을 도입하게 되면서 발생한 이슈에 대하여 작성하도록 하겠다.

소셜 로그인이나 라이브러리 등을 사용하면서 각 빌드 구성표에 설정 파일도 많아지고 OS 버전, kotlin 버전, flutter 버전 등이 계속 변경되면서 어느 순간엔 돌이킬 수 없는 난잡한 구성표가 되어있다.

IOS/Swift는 자주 에러도 발생시키고 하다보니 귀찮아도 계속해서 설정 관련된 것들을 정리하면서 개발을 하는데, 안드로이드는 에러가 발생하지 않은 이상은 잘 안보게 된다.

이전에 네이버 로그인 개발을 한 적이 있어서 쉽게 끝날 줄 알았는데, 처음 부터 MainActiviy() 변경 안해줘서 딜레이 좀 됬다가 바로 개발 끝내고 apk 빌드해서 release 버전도 체크했을 때까지는 그래도 순조롭게 개발을 끝냈었다.
aab 버전으로 테스트 하려고 빌드 했는데, 갑자기 앱이 튕기기 시작했다. 그래서 다시 apk로 받아서 해보니 처음에는 로그인이 되다가 갑자기 또 튕기기 시작하더니 결국 계속 튕겼다.

초기에 릴리즈 모드 에러 로그 확인해보니 아래와 같은 에러가 있어서 여기저기 찾아보니 jdk가 2개가 존재해서 그렇다는 글을보고 확인해보니 나도 자바가 2개 깔려있어서 바로 삭제했지만 여전히 작동안된다.

Running: java.lang.IllegalAccessError

다음으로 찾아본 내용이 Activity에 문제가 있는거라 android:theme 속성을 변경해주면 된다고 해서 style.xml 구성 다 변경하고 Manifest.xml도 처음부터 다 정리하면서 설정 다시 세팅을 했지만 계속 튕겼다.

네이버 로그인 때문에 Gradle 변경하고 코틀린 버전 올리고 다시 flutter library랑 버전 맞춰주고 했는데도 계속 안되서 결국 모든 라이브러리를 전부 다 들어내고 다시 세팅했다 ㅠㅠ

그러다 Airbridge를 연결했을 때 에러가 발생하는거 보고 기술팀에 문의했지만 금방 답이 오지는 않을 것 같아서 차라리 네이버 로그인을 안드로이드만 Platform channel 연결해서 네이티브로 처리하려고 했는데, token 값이 들어오지 않는게 이상해서 난독화 이슈일 수 있다는 생각에 난독화 관련되서 찾아보기 시작했다.

결국 해결 방법은 proguard-rules.pro에 아래 코드를 추가해 줬더니 바로 작동됬다.

이상한건 분명 처음에 난독화 관련되서 추가했었는데, 그 때는 작동안되다가 갑자기 작동된 것 보니 Kotlin 버전, Menifest 파일 설정에도 문제가 있긴 했던 것 같다.

proguard-rules.pro

android > app

-keep public class com.navercorp.nid.** {
public *;
}

이렇게 해도 에러가 계속 발생하면 Gradle/Menifest/Library 버전이나 세팅 확인해 보세요.
오래된 프로젝트면 지금 생성하는 프로젝트 구성이랑 많이 달라져서 버전 쪽도 확인이 필요합니다.

profile
Flutter Developer

0개의 댓글