세상사는 이야기 / 도움이 되었다면 배너 클릭 부탁드려요~ →→→

2018년 8월 16일 목요일

[Unity Android] GPGS & Firebase : GamesNativeSDK Can't Register class Error

Google Play Game Service & Firebase Error

실행 환경
play-games-plugin-for-unity-0.9.50
firebase_unity_sdk_5.2.0
  - FirebaseMessaging.unitypackage 설치

DEX64 및 여러 빌드 에러를 다 잡고 APK를 만들어 실행하였다.
게임 실행중 아래 에러가 발생 하며, Google Play Game Service에 로그인이 되지 않았다.
Asset/Plugins/Android폴더의 play-services-auth 버전확인 결과 사용 하려는 버전 보다 낮은 aar파일이 받아지는것을 확인하였다.
해당내용은 FireBase Plugin에서 Appdependencies.xml파일을 수정하면 된다.

Assets/FireBase/Editor/Appdependencies.xml
androidPackage com.google.android.gms:play-services-base 삭제
<!-- Copyright (C) 2018 Google Inc. All Rights Reserved.

FirebaseApp iOS and Android Dependencies.
-->

<dependencies>
  <iosPods>
    <iosPod name="Firebase/Core" version="5.4.0" minTargetSdk="8.0">
    </iosPod>
  </iosPods>
  <androidPackages>
      <!--  삭제
    <androidPackage spec="com.google.android.gms:play-services-base:15.0.1">
    </androidPackage>
    -->
    <androidPackage spec="com.google.firebase:firebase-common:16.0.0">
    </androidPackage>
    <androidPackage spec="com.google.firebase:firebase-core:16.0.1">
    </androidPackage>
    <androidPackage spec="com.google.firebase:firebase-app-unity:5.2.0">
      <repositories>
        <repository>Assets/Firebase/m2repository</repository>
      </repositories>
    </androidPackage>
  </androidPackages>
</dependencies>



androidPackage com.google.android.gms:play-services-base 삭제하면 Editor에서 aar파일을 15.0.1 버전으로 다시 받는다.



참고 링크
GPGS & Firebase : GamesNativeSDK Can't Register class Error #2230

Mixed dependency versions resolve incorrectly. #123

Does not bump pre-15 versions to 15+ #127

// 버그 해결책
Mixed Dependency Versions bugs 2.0 #130



08-01 16:59:05.451 14969 14969 E AndroidRuntime: Caused by: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/android/gms/common/api/Api$zzf;
08-01 16:59:05.451 14969 14969 E AndroidRuntime: at com.google.android.gms.auth.api.Auth.(Unknown Source)
08-01 16:59:05.451 14969 14969 E AndroidRuntime: at com.google.games.bridge.TokenFragment.buildClient(TokenFragment.java:382)
08-01 16:59:05.451 14969 14969 E AndroidRuntime: at com.google.games.bridge.TokenFragment.processRequest(TokenFragment.java:279)
08-01 16:59:05.451 14969 14969 E AndroidRuntime: at com.google.games.bridge.TokenFragment.onResume(TokenFragment.java:506)
08-01 16:59:05.451 14969 14969 E AndroidRuntime: at android.app.Fragment.performResume(Fragment.java:2272)
08-01 16:59:05.451 14969 14969 E AndroidRuntime: at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1008)
08-01 16:59:05.451 14969 14969 E AndroidRuntime: at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1148)
08-01 16:59:05.451 14969 14969 E AndroidRuntime: at android.app.BackStackRecord.run(BackStackRecord.java:793)
08-01 16:59:05.451 14969 14969 E AndroidRuntime: at android.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1535)
08-01 16:59:05.451 14969 14969 E AndroidRuntime: at android.app.FragmentManagerImpl$1.run(FragmentManager.java:482)
08-01 16:59:05.451 14969 14969 E AndroidRuntime: at android.os.Handler.handleCallback(Handler.java:739)
08-01 16:59:05.451 14969 14969 E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:95)
08-01 16:59:05.451 14969 14969 E AndroidRuntime: at android.os.Looper.loop(Looper.java:148)
08-01 16:59:05.451 14969 14969 E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:5551)
08-01 16:59:05.451 14969 14969 E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
08-01 16:59:05.451 14969 14969 E AndroidRuntime: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:730)
08-01 16:59:05.451 14969 14969 E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:620)
08-01 16:59:05.451 14969 14969 E AndroidRuntime: Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.android.gms.common.api.Api$zzf" on path: DexPathList[[zip file "/data/app/com.exzizt.Birdie-2/base.apk"],nativeLibraryDirectories=[/data/app/com.exzizt.Birdie-2/lib/arm, /data/app/com.exzizt.Birdie-2/base.apk!/lib/armeabi-v7a, /vendor/lib, /system/lib]]
08-01 16:59:05.451 14969 14969 E AndroidRuntime: at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
08-01 16:59:05.451 14969 14969 E AndroidRuntime: at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
08-01 16:59:05.451 14969 14969 E AndroidRuntime: at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
08-01 16:59:05.451 14969 14969 E AndroidRuntime: ... 17 more
08-01 16:59:05.451 14969 14969 E AndroidRuntime: Suppressed: java.lang.ClassNotFoundException: com.google.android.gms.common.api.Api$zzf
08-01 16:59:05.451 14969 14969 E AndroidRuntime: at java.lang.Class.classForName(Native Method)
08-01 16:59:05.451 14969 14969 E AndroidRuntime: at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
08-01 16:59:05.451 14969 14969 E AndroidRuntime: at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
08-01 16:59:05.451 14969 14969 E AndroidRuntime: at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
08-01 16:59:05.451 14969 14969 E AndroidRuntime: ... 18 more
08-01 16:59:05.451 14969 14969 E AndroidRuntime: Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack trace available

댓글 없음:

댓글 쓰기