Play-games-plugin-for-unity: cleoschneider is messing up installation

Created on 15 Mar 2019  路  3Comments  路  Source: playgameservices/play-games-plugin-for-unity

I've been trying to install the latest plugin into Unity 2018.3.3f1. I use Unity Hub and all my editors are on my D drive. I even followed the instructions to update my environment variables to correctly point to the OpenJDK associated with my editor.

When I try to import into an existing or even a brand new project, I'm getting the error that the JAVA_HOME path is incorrect. Looking at the detailed logs, I'm blaming Cleo!

Can anyone tell me how to install correctly? Thanks!

The path cited is the wrong drive, the wrong editor (not even installed on my system) and the wrong path. It looks like it got hardwired into the editor scripts somehow

Job failed with exception: GooglePlayServices.JavaUtilities+ToolNotFoundException: jar not found, C:\Program Files\Unity\Hub\Editor\2018.3.0b3\Editor\Data\PlaybackEngines\AndroidPlayer/Tools\OpenJDK\Windows references incomplete Java distribution. at GooglePlayServices.PlayServicesResolver.ExtractZip (System.String zipFile, System.String[] extractFilenames, System.String outputDirectory) [0x000a9] in /usr/local/google/home/cleoschneider/google-play-resolver/unity-jar-resolver/source/PlayServicesResolver/src/PlayServicesResolver.cs:1634 at GooglePlayServices.ResolverVer1_1.GradleResolution (System.String destinationDirectory, System.String androidSdkPath, System.Boolean logErrorOnMissingArtifacts, System.Action1[T] resolutionComplete) [0x000ff] in /usr/local/google/home/cleoschneider/google-play-resolver/unity-jar-resolver/source/PlayServicesResolver/src/ResolverVer1_1.cs:547
at GooglePlayServices.ResolverVer1_1.DoResolutionUnsafe (Google.JarResolver.PlayServicesSupport svcSupport, System.String destinationDirectory, System.Action resolutionComplete) [0x000a1] in /usr/local/google/home/cleoschneider/google-play-resolver/unity-jar-resolver/source/PlayServicesResolver/src/ResolverVer1_1.cs:1066
at GooglePlayServices.ResolverVer1_1+c__AnonStorey1C.<>m__34 () [0x0000d] in /usr/local/google/home/cleoschneider/google-play-resolver/unity-jar-resolver/source/PlayServicesResolver/src/ResolverVer1_1.cs:948
at GooglePlayServices.ResolverVer1_1.UpdateTryResolution () [0x0003a] in /usr/local/google/home/cleoschneider/google-play-resolver/unity-jar-resolver/source/PlayServicesResolver/src/ResolverVer1_1.cs:963
at Google.RunOnMainThread.ExecuteNext () [0x0003d] in /usr/local/google/home/cleoschneider/google-play-resolver/unity-jar-resolver/source/VersionHandlerImpl/src/RunOnMainThread.cs:363
UnityEngine.Debug:LogError(Object)
Google.RunOnMainThread:ExecuteNext() (at /usr/local/google/home/cleoschneider/google-play-resolver/unity-jar-resolver/source/VersionHandlerImpl/src/RunOnMainThread.cs:365)
Google.RunOnMainThread:m__16() (at /usr/local/google/home/cleoschneider/google-play-resolver/unity-jar-resolver/source/VersionHandlerImpl/src/RunOnMainThread.cs:394)
Google.RunOnMainThread:RunAction(Action) (at /usr/local/google/home/cleoschneider/google-play-resolver/unity-jar-resolver/source/VersionHandlerImpl/src/RunOnMainThread.cs:234)
Google.RunOnMainThread:ExecuteAll() (at /usr/local/google/home/cleoschneider/google-play-resolver/unity-jar-resolver/source/VersionHandlerImpl/src/RunOnMainThread.cs:392)
Google.RunOnMainThread:Run(Action, Boolean) (at /usr/local/google/home/cleoschneider/google-play-resolver/unity-jar-resolver/source/VersionHandlerImpl/src/RunOnMainThread.cs:349)
GooglePlayServices.ResolverVer1_1:DoResolution(PlayServicesSupport, String, Action) (at /usr/local/google/home/cleoschneider/google-play-resolver/unity-jar-resolver/source/PlayServicesResolver/src/ResolverVer1_1.cs:953)
GooglePlayServices.PlayServicesResolver:ResolveUnsafe(Action1, Boolean, Boolean) (at /usr/local/google/home/cleoschneider/google-play-resolver/unity-jar-resolver/source/PlayServicesResolver/src/PlayServicesResolver.cs:1429) GooglePlayServices.<ScheduleResolve>c__AnonStorey12:<>m__22() (at /usr/local/google/home/cleoschneider/google-play-resolver/unity-jar-resolver/source/PlayServicesResolver/src/PlayServicesResolver.cs:1305) GooglePlayServices.PlayServicesResolver:ExecuteNextResolveJob() (at /usr/local/google/home/cleoschneider/google-play-resolver/unity-jar-resolver/source/PlayServicesResolver/src/PlayServicesResolver.cs:1224) GooglePlayServices.PlayServicesResolver:ScheduleResolve(Boolean, Action1, Boolean) (at /usr/local/google/home/cleoschneider/google-play-resolver/unity-jar-resolver/source/PlayServicesResolver/src/PlayServicesResolver.cs:1316)
GooglePlayServices.PlayServicesResolver:ExecuteMenuResolve(Boolean) (at /usr/local/google/home/cleoschneider/google-play-resolver/unity-jar-resolver/source/PlayServicesResolver/src/PlayServicesResolver.cs:1481)
GooglePlayServices.PlayServicesResolver:MenuResolve() (at /usr/local/google/home/cleoschneider/google-play-resolver/unity-jar-resolver/source/PlayServicesResolver/src/PlayServicesResolver.cs:1496)`

Most helpful comment

I found the problem

In Unity Preferences, I unchecked the "Use Embedded JDK" box and this exposed the bad reference

So the GPG plugin PlayServicesResolver uses a setting in Preferences that is hidden by default

To fix:

  • Deselect "Use Embedded JDK"
  • Provide the correct location for your editor's OpenJDK location, probably something like...
    C:\ProgramFiles\Unity\2018.3.3f1\Editor\Data\PlaybackEngines\AndroidPlayer\Tools\OpenJDK\Windows
  • Then reselect "Use Embedded JDK"
  • reboot Unity

All 3 comments

I fixed it with rebooting the system after I got frustrated and started to do random stuff:
On my notes I have:

  • Install Android SDK & NDK r16b
  • Setup NDK & SDK path in unity (Edit鈫扨references鈫扙xternal Tools)
  • Set JAVA_HOME (update PATH + %JAVA_HOME%/Bin)
  • Install OpenSSL (update PATH)
  • Reboot!

I didn't install NDK r16b because I'm not using IL2CPP, so I'll give that a shot.

Thanks for keeping notes Martin!

I found the problem

In Unity Preferences, I unchecked the "Use Embedded JDK" box and this exposed the bad reference

So the GPG plugin PlayServicesResolver uses a setting in Preferences that is hidden by default

To fix:

  • Deselect "Use Embedded JDK"
  • Provide the correct location for your editor's OpenJDK location, probably something like...
    C:\ProgramFiles\Unity\2018.3.3f1\Editor\Data\PlaybackEngines\AndroidPlayer\Tools\OpenJDK\Windows
  • Then reselect "Use Embedded JDK"
  • reboot Unity
Was this page helpful?
0 / 5 - 0 ratings