playgameservices / play-games-plugin-for-unity

Google Play Games plugin for Unity
Other
3.46k stars 966 forks source link

Got error on authenticate: Could not register one or more required Java classes. #2150

Open Mokalipilou opened 6 years ago

Mokalipilou commented 6 years ago

Hi, After two days of tests and lot of google search, trying to fix an authentification failure, i ended with this logcat error. This occurs on a previously working (and published) project, updated to Unity 2017.3.1f1 and to GPG 0.9.50 :

03-23 21:01:10.465: E/GamesNativeSDK(11435): Could not register one or more required Java classes. 03-23 21:01:10.475: E/Unity(11435): InvalidOperationException: There was an error creating a GameServices object. Check for log errors from GamesNativeSDK 03-23 21:01:10.475: E/Unity(11435): at GooglePlayGames.Native.PInvoke.GameServicesBuilder.Build (GooglePlayGames.Native.PInvoke.PlatformConfiguration configRef) [0x00000] in :0 03-23 21:01:10.475: E/Unity(11435): at GooglePlayGames.Native.NativeClient.InitializeGameServices () [0x00000] in :0 03-23 21:01:10.475: E/Unity(11435): at GooglePlayGames.Native.NativeClient.Authenticate (System.Action2 callback, Boolean silent) [0x00000] in <filename unknown>:0 03-23 21:01:10.475: E/Unity(11435): at GooglePlayGames.PlayGamesPlatform.Authenticate (System.Action2 callback, Boolean silent) [0x00000] in :0 03-23 21:01:10.475: E/Unity(11435): at GooglePlayGames.PlayGamesPlatform.Authenticate (System.Action1 callback, Boolean silent) [0x00000] in <filename unknown>:0 03-23 21:01:10.475: E/Unity(11435): at GooglePlayGames.PlayGamesPlatform.Authenticate (System.Action1 callback) [0x00000] in :0 03-23 21:01:10.475: E/Unity(11435): at GooglePlayGames.PlayGamesLocalUser.Authenticate (System.Action`1 callback) [0x00000] in :0 03-23 21:01:10.475: E/Unity(11435): at GameManager [...]

03-23 20:35:58.615: E/Unity(30105): DllNotFoundException: gpg 03-23 20:35:58.615: E/Unity(30105): at (wrapper managed-to-native) GooglePlayGames.Native.Cwrapper.Builder:GameServices_Builder_Construct () 03-23 20:35:58.615: E/Unity(30105): at GooglePlayGames.Native.PInvoke.GameServicesBuilder.Create () [0x00000] in :0 03-23 20:35:58.615: E/Unity(30105): at GooglePlayGames.Native.NativeClient.InitializeGameServices () [0x00000] in :0 03-23 20:35:58.615: E/Unity(30105): at GooglePlayGames.Native.NativeClient.Authenticate (System.Action2 callback, Boolean silent) [0x00000] in <filename unknown>:0 03-23 20:35:58.615: E/Unity(30105): at GooglePlayGames.PlayGamesPlatform.Authenticate (System.Action2 callback, Boolean silent) [0x00000] in :0 03-23 20:35:58.615: E/Unity(30105): at GooglePlayGames.PlayGamesPlatform.Authenticate (System.Action1 callback, Boolean silent) [0x00000] in <filename unknown>:0 03-23 20:35:58.615: E/Unity(30105): at GooglePlayGames.PlayGamesPlatform.Authenticate (System.Action1 callback) [0x00000] in :0 03-23 20:35:58.615: E/Unity(30105): at GooglePlayGames.PlayGamesLocalUser.Authenticate (System.Action`1 callback) [0x00000] in :0 03-23 20:35:58.615: E/Unity(30105): at GameManager.GooglePlayGamesActivate (Boolean on) [0x000

I'm running out of clue right know. Any help would be welcome.

Mokalipilou commented 6 years ago

After two more days, i found the source of the error "Could not register one or more required Java classes.": the Play Service Resolver, run in the Sample project, failed to show an error when it fails to correctly create the assets in the plugin/android directory due to the complete path to filenames to be too long. This also didn't prevent the gradle to build the project. Given the length of the path of these dependencies, it is easy to exceeds the length limit on Windows if you put your projects in a usual directory like C:\Users\%USERNAME%\Documents\Unity\project_name

The current solution for me has been to move my projects directory to the root directory.

This still doesn't explain why the Play Service Resolver fails totally on my main project, despite saying it succeed (i'm then using files generated in the sample project).