프로그래밍/ㄴ이슈

[Unity/Android] 구글 오류 Error Unity AndroidJavaException: java.lang.ClassNotFoundException: com.google.android.gms.games.Games

최갓 2020. 8. 27. 12:28
반응형

Google Play Services 추가 후 인증 요청에서 다음과 같은 에러가 발생했다

(빌드는 성공, 로그캣에서 오류 추적)

 

Error Unity AndroidJavaException: java.lang.ClassNotFoundException: com.google.android.gms.games.Games

 

해결 방법은 다음과 같다

 

1. Minify Release : Proguard

2. Minify Dubug. : Proguard 

3. 빌드세팅, 플레이어세팅/퍼블리싱 세팅에서 'user proguard file' 체크 하여 활성화 

 

proguard-user.txt에 다음의 내용 추가

출처 : https://github.com/playgameservices/play-games-plugin-for-unity/blob/master/scripts/proguard.txt

-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.** { *; }

 

이후 빌드 하여 확인하니 정상적으로 해결되었다.

 

유니티 2020.1.x이상의 버전일 경우 다음과 같이 세팅할 것

2019.x버전과는 생김세가 좀 변했다.

반응형