PlayGamesPlatform.Activate(); 를 사용해서
와 같은 사용자 인터페이스(GPGS)를 띄우려고 헀으나
Exception: AndroidJavaException: java.lang.ClassNotFoundException: com.google.android.gms.games.PlayGames
java.lang.ClassNotFoundException: com.google.android.gms.games.PlayGames
java.lang.Class.classForName(Native Method)
java.lang.Class.forName(Class.java:607)
com.unity3d.player.UnityPlayer.nativeRender(Native Method)
com.unity3d.player.UnityPlayer.-$$Nest$mnativeRender(Unknown Source:0)
com.unity3d.player.UnityPlayer$F$a.handleMessage(Unknown Source:122)
android.os.Handler.dispatchMessage(Handler.java:102)
android.os.Looper.loopOnce(Looper.java:230)
android.os.Looper.loop(Looper.java:319)
com.unity3d.player.UnityPlayer$F.run(Unknown Source:24)
Caused by: java.lang.ClassNotFoundException: com.google.android.gms.games.PlayGames
... 9 more
UnityEngine.AndroidJNISafe.CheckException () (at <00000000000000000000000000000000>:0)
UnityEngine.AndroidJNISafe.FindClass (System.String name) (at <00000000000000000000000000000000>:0)
UnityEngine.AndroidJavaClass._AndroidJavaClass (System.String className) (at <00000000000000000000000000000000>:0)
GooglePlayGames.Android.AndroidClient..ctor () (at <00000000000000000000000000000000>:0)
GooglePlayGames.PlayGamesClientFactory.GetPlatformPlayGamesClient () (at <00000000000000000000000000000000>:0)
GooglePlayGames.PlayGamesPlatform.get_Instance () (at <00000000000000000000000000000000>:0)
GooglePlayGames.PlayGamesPlatform.Activate () (at <00000000000000000000000000000000>:0)
GPGSManager.Start () (at <00000000000000000000000000000000>:0)
와 같은 오류가 뜨면서 뜨지 않았다.
이유를 찾아보니...
Proguard 설정을 해주어야 한다고 한다.
위와 같이
Project Settings - Player - Publishing Settings - Build - Custom Proguard File를 체크해주자
그럼 다음과 같은 파일이 하나 생기는데
-keep class com.google.android.gms.games.leaderboard.** { *; }
-keep class com.google.android.gms.games.snapshot.** { *; }
-keep class com.google.android.gms.games.achievement.** { *; }
-keep class com.google.android.gms.games.event.** { *; }
-keep class com.google.android.gms.games.stats.** { *; }
-keep class com.google.android.gms.games.video.** { *; }
-keep class com.google.android.gms.games.* { *; }
-keep class com.google.android.gms.common.api.ResultCallback { *; }
-keep class com.google.android.gms.signin.** { *; }
-keep class com.google.android.gms.dynamic.** { *; }
-keep class com.google.android.gms.dynamite.** { *; }
-keep class com.google.android.gms.tasks.** { *; }
-keep class com.google.android.gms.security.** { *; }
-keep class com.google.android.gms.base.** { *; }
-keep class com.google.android.gms.actions.** { *; }
-keep class com.google.games.bridge.** { *; }
-keep class com.google.android.gms.common.ConnectionResult { *; }
-keep class com.google.android.gms.common.GooglePlayServicesUtil { *; }
-keep class com.google.android.gms.common.api.** { *; }
-keep class com.google.android.gms.common.data.DataBufferUtils { *; }
-keep class com.google.android.gms.games.quest.** { *; }
-keep class com.google.android.gms.nearby.** { *; }
다음과 같이 작성하고 저장한다.
Assets - External Depandency Manager - Android Resolver - Force Resolve를 해주면 완료.
(만약 현재 Platform이 Android가 아니라면 Android로 Switch 해준다)
성공적으로 사용자 인터페이스가 뜨는 모습

반응형
'오류 해결' 카테고리의 다른 글
Unity-Json-Parser 문제 해결 (0) | 2024.12.27 |
---|---|
Add module이 없을때, IOS 관련 모듈 문제 (0) | 2024.05.02 |
[LearnUGUI] 핸들있는 슬라이더 양 옆 크기 문제 해결 (0) | 2024.02.09 |
[Install failed: Validation Failed]와 Build가 안되는 문제 (0) | 2024.01.25 |