반응형
프로젝트 셋팅에 있는 Player - Publishing Settings - Minify - Release에서 Proguard를 사용했더니 다음과 같은 에러가 logcat에 뜨면서 구글 플레이 서비스에 로그인이 되지 않습니다.
AndroidJavaException: java.lang.ClassNotFoundException: com.google.android.gms.games.Games
구글링을 해보니 Proguard에서 난독화한 후에 외부 라이브러리를 사용할 때 문제가 된다고 합니다.
Proguard 를 끄지 않고, 관련 플러그인을 예외처리해주면 문제가 해결된다고 하니 해보겠습니다.
1. 유니티 내에서 Proguard 사용자 설정을 바꾸기
Player Settings - Player - Publishing Settings - Build - User Proguard File 체크
2. 해당 파일(proguard-user.txt)에 예외처리
오류 메시지를 확인하면서 -keep 구문을 사용해 추가해줍니다.
-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.** { *; }
3. Assets - Play Services Resolver - Android Resolver - Force Resolve
Assets - Play Services Resolver - Android Resolver - Force Resolve 를 눌러줍니다.
이후에 해당 오류가 사라진 것을 확인할 수 있습니다.
반응형
'[Unity] > [Unity]' 카테고리의 다른 글
[Unity] onClick.AddListener() 함수의 파라미터 전달 문제 (0) | 2022.05.28 |
---|---|
[Unity] 입사각, 반사각을 구하는 방법 (0) | 2022.05.11 |
[Unity] UI터치와 게임 화면 터치 분리해주는 방법 (0) | 2022.03.19 |
[Unity] Button onClick 이벤트 연결 방법(feat. AddListener()) (0) | 2022.02.13 |
[Unity] IComparer, IComparable 인터페이스 (0) | 2022.02.10 |