구글 로그인 sdk 에러

  • 뒤끝 SDK 버전 : 5.4.5

구글 로그인 sdk 적용중 아래와 같은 에러가 생겨 문의드립니다.
현재 proguard 적용되어 있는 상태입니다.

확인 부탁드립니다.

SDK Exception : java.lang.NoSuchFieldError: no “Ljava/lang/Object;” field “mainActivity” in class “Lio/thebackend/googlelogin/GoogleLogin;” or its superclasses,

안녕하세요 개발자님,
현재 이용하고 계신 유니티 버전을 공유하여 주시면 감사하겠습니다.

현재 유니티 버전은 2020.3.26f1 사용중 입니다

추가 확인 요청드립니다.

-keep class io.thebackend.googlelogin.** {*;}

프로가드 예외로 위와 같이 적용되어 있는지 확인 요청드립니다.
적용되어있지 않다면 추가 적용 후 재시도하여 에러가 발생하는지 확인해 주시면 감사하겠습니다.

주신 내용 proguard-user.txt에 추가하여 재빌드 하였더니 정상작동 확인하였습니다.

확인해주셔서 감사합니다

좋아요 1

안녕하세요.

프로가드에 알려주신 예외처리는 했는데도 동일한 에러가 나타나고 있습니다.
이번에 애드몹 SDK 버전업을 하면서 gradle 버전을 변경했습니다.
사용 중인 버전은 다음과 같습니다.

유니티 버전 : 2021.3.9f1
애드몹 버전 : v8.7.0
gradle : 6.7.1
build:gradle : 4.2.0

확인 부탁드립니다.

안녕하세요 개발자님,
현재 이용하고 계신 프로가드 파일을 공유해 주시면 상세히 확인하여 안내드릴 수 있도록 하겠습니다.
커뮤니티 내 첨부가 어려운 경우 help@thebackend.io 로 보내주시면 됩니다.

안녕하세요. 파일첨부합니다.

에러코드입니다.

2024-02-14 23:16:59.205 18646 18734 Error Unity SDK Exception : java.lang.NoSuchFieldError: no "Ljava/lang/Object;" field "mainActivity" in class "Lio/thebackend/googlelogin/GoogleLogin;" or its superclasses
2024-02-14 23:16:59.205 18646 18734 Error Unity TheBackend.ToolKit.GoogleLogin.Android:GoogleLogin(String, GoogleLoginCallback)
2024-02-14 23:16:59.205 18646 18734 Error Unity TheBackend.ToolKit.GoogleLogin.Android:GoogleLogin(GoogleLoginCallback)
2024-02-14 23:16:59.205 18646 18734 Error Unity UnityEngine.Events.UnityEvent:Invoke()
2024-02-14 23:16:59.205 18646 18734 Error Unity UnityEngine.EventSystems.ExecuteEvents:Execute(GameObject, BaseEventData, EventFunction`1)
2024-02-14 23:16:59.205 18646 18734 Error Unity UnityEngine.EventSystems.StandaloneInputModule:ProcessTouchPress(PointerEventData, Boolean, Boolean)
2024-02-14 23:16:59.205 18646 18734 Error Unity UnityEngine.EventSystems.StandaloneInputModule:ProcessTouchEvents()
2024-02-14 23:16:59.205 18646 18734 Error Unity UnityEngine.EventSystems.StandaloneInputModule:Process()
2024-02-14 23:16:59.205 18646 18734 Error Unity 

프로가드파일 첨부합니다.
proguard-user.txt (1.3 KB)

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

뒤끝베이스 SDK 이용을 위한 예외처리가 빠져있는 것으로 확인됩니다.
아래 예외도 적용해 주시면 감사하겠습니다.

-keep class io.thebackend.unity.** { *; }

뒤끝의 1:1 문의 기능을 이용하시는 경우는 아래 예외도 추가로 적용 바랍니다.

-keep class io.thebackend.webview.** { *; }

해당 2라인도 추가했지만 여전히 같은 에러가 발생합니다.

2024-02-16 02:21:44.921 27175 27270 Error Unity SDK Exception : java.lang.NoSuchFieldError: no "Ljava/lang/Object;" field "mainActivity" in class "Lio/thebackend/googlelogin/GoogleLogin;" or its superclasses
2024-02-16 02:21:44.921 27175 27270 Error Unity TheBackend.ToolKit.GoogleLogin.Android:GoogleLogin(String, GoogleLoginCallback)
2024-02-16 02:21:44.921 27175 27270 Error Unity TheBackend.ToolKit.GoogleLogin.Android:GoogleLogin(GoogleLoginCallback)
2024-02-16 02:21:44.921 27175 27270 Error Unity UnityEngine.Events.UnityEvent:Invoke()
2024-02-16 02:21:44.921 27175 27270 Error Unity UnityEngine.EventSystems.ExecuteEvents:Execute(GameObject, BaseEventData, EventFunction`1)
2024-02-16 02:21:44.921 27175 27270 Error Unity UnityEngine.EventSystems.StandaloneInputModule:ProcessTouchPress(PointerEventData, Boolean, Boolean)
2024-02-16 02:21:44.921 27175 27270 Error Unity UnityEngine.EventSystems.StandaloneInputModule:ProcessTouchEvents()
2024-02-16 02:21:44.921 27175 27270 Error Unity UnityEngine.EventSystems.StandaloneInputModule:Process()
2024-02-16 02:21:44.921 27175 27270 Error Unity 

동일한 gradle과 proguard.txt로 재현을 해보았으나 내부 테스트에서는 에러 발생을 재현하지 못하였습니다.
아래 세가지 정보 확인 요청드립니다.

  1. 안드로이드로 export 했을 때 proguard-user.txt에 thebackend.googlelogin이 있는지 확인
  2. 애드몹이나 다른 프로가드 처리한 안드로이드 플러그인이 정상 작동하는지 확인
  3. 만약 구글 로그인 1.0.0 버전을 사용하였을 경우, 데이터가 중복되었을 수 있습니다. 해당 프로젝트에서 구글 로그인 1.1.0 만을 사용해주셨었는지 확인