마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

로그캣 질문 (버튼을 누르기만 해도 앱이 강제 종료)

0 추천
정말 초보입니다. 도움이 필요해요!!

뭐가 문제인 걸까요? 구글계정 로그인을 연동했는데 로그인 버튼을 누르기만 하면 앱이 강제 종료되어버립니다.

2022-01-02 22:19:33.002 26612-26612/? E/Zygote: isWhitelistProcess - Process is Whitelisted
2022-01-02 22:19:33.003 26612-26612/? E/Zygote: accessInfo : 1
2022-01-02 22:19:33.047 26612-26612/? E/irebasechatexa: Unknown bits set in runtime_flags: 0x8000
2022-01-02 22:19:33.002 26612-26612/? E/Zygote: isWhitelistProcess - Process is Whitelisted
2022-01-02 22:19:29.706 4110-10433/? D/ConnectivityService: filterNetworkStateForUid() uid: 10026, pid: 4110
2022-01-02 22:19:33.003 26612-26612/? E/Zygote: accessInfo : 1
2022-01-02 22:19:33.047 26612-26612/? E/irebasechatexa: Unknown bits set in runtime_flags: 0x8000
2022-01-02 22:19:33.002 26612-26612/? E/Zygote: isWhitelistProcess - Process is Whitelisted
2022-01-02 22:19:33.003 26612-26612/? E/Zygote: accessInfo : 1
2022-01-02 22:19:33.047 26612-26612/? E/irebasechatexa: Unknown bits set in runtime_flags: 0x8000
2022-01-02 22:19:35.102 26612-26612/com.example.firebasechatexam E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.example.firebasechatexam, PID: 26612
    java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=1000, result=-1, data=Intent { (has extras) }} to activity {com.example.firebasechatexam/com.example.firebasechatexam.SignInActivity}: java.lang.IllegalArgumentException: Must specify an idToken or an accessToken.
        at android.app.ActivityThread.deliverResults(ActivityThread.java:5230)
        at android.app.ActivityThread.handleSendResult(ActivityThread.java:5271)
        at android.app.servertransaction.ActivityResultItem.execute(ActivityResultItem.java:51)
        at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2216)
        at android.os.Handler.dispatchMessage(Handler.java:107)
        at android.os.Looper.loop(Looper.java:237)
        at android.app.ActivityThread.main(ActivityThread.java:7948)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1075)
     Caused by: java.lang.IllegalArgumentException: Must specify an idToken or an accessToken.
        at com.google.firebase.auth.GoogleAuthCredential.<init>(com.google.firebase:firebase-auth@@21.0.1:6)
        at com.google.firebase.auth.GoogleAuthProvider.getCredential(com.google.firebase:firebase-auth@@21.0.1:1)
        at com.example.firebasechatexam.SignInActivity.firebaseAuthWithGoogle(SignInActivity.java:79)
        at com.example.firebasechatexam.SignInActivity.onActivityResult(SignInActivity.java:72)
        at android.app.Activity.dispatchActivityResult(Activity.java:8292)
        at android.app.ActivityThread.deliverResults(ActivityThread.java:5223)
        at android.app.ActivityThread.handleSendResult(ActivityThread.java:5271)
        at android.app.servertransaction.ActivityResultItem.execute(ActivityResultItem.java:51)
        at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2216)
        at android.os.Handler.dispatchMessage(Handler.java:107)
        at android.os.Looper.loop(Looper.java:237)
        at android.app.ActivityThread.main(ActivityThread.java:7948)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1075)
jemily (120 포인트) 님이 2022년 1월 2일 질문
관련된 코드도 같이 올려보세요.

1개의 답변

0 추천

에러로그만 가지고 추측할 수 있는 오류를 적어드려봅니다. 

 

RuntimeException:Failure delivering result ResultInfo{who=null, request=1000, result=-1, data=Intent { (has extras) }} to activity

IllegalArgumentException: Must specify an idToken or an accessToken.

com.example.firebasechatexam.SignInActivity.firebaseAuthWithGoogle(SignInActivity.java:79)

com.example.firebasechatexam.SignInActivity.onActivityResult(SignInActivity.java:72)

 

 

위 로그를 보시면 발생한 에러종류, 에러가 발생되기 전에 호출된 함수 들이 표시됩니다. 

startActivityForResult 함수를 호출하여 동작결과를 되돌려받도록 구성하신 것으로 확인됩니다. 

토큰 정보를 필요로하는 함수에서 인자가 올바르지 않다고 합니다. 

 

Activity 간 데이터 전달 중 extra 데이터의 타입이나 이름이 잘못작성되어 파싱오류가 발생하였을 가능성.

구글로그인 옵션 설정 시  idToken 을 설정하지 않았을 가능성 정도가 의심됩니다.

 

익명 님이 2022년 1월 3일 답변
...