Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Could not initialize class org.codehaus.groovy.vmplugin.v7.Java7 #384

Open
peterpp opened this issue Jun 16, 2020 · 69 comments
Open

Could not initialize class org.codehaus.groovy.vmplugin.v7.Java7 #384

peterpp opened this issue Jun 16, 2020 · 69 comments

Comments

@peterpp
Copy link

peterpp commented Jun 16, 2020

Please fill in the following fields:

Unity editor version: 2019.4.0f1 and also multiple of 2019.3.x versions
External Dependency Manager version: 1.2.155
Source you installed EDM: Unity Package Manager
Features in External Dependency Manager in use: Android Resolver
Plugins SDK in use: Firebase, Facebook, IronSource
Platform you are using the Unity editor on: Mac OS Catalina (10.15.5)
Platform you are targeting: Android
Scripting Runtime: IL2CPP

Please describe the issue here:

I am unable to run Android Resolver because of exception:

Failed to run '/Users/peter/Projects/hopply/Temp/PlayServicesResolverGradle/gradlew --no-daemon -b "/Users/peter/Projects/hopply/Temp/PlayServicesResolverGradle/PlayServicesResolver.scripts.download_artifacts.gradle" "-PANDROID_HOME=/Applications/Unity/Hub/Editor/2019.4.0f1/PlaybackEngines/AndroidPlayer/SDK" "-PTARGET_DIR=/Users/peter/Projects/hopply/Assets/Plugins/Android" "-PMAVEN_REPOS=https://dl.bintray.com/ironsource-mobile/android-sdk/;https://maven.google.com/;https://dl.bintray.com/ironsource-mobile/android-adapters/;file:////Users/peter/Projects/hopply/Library/PackageCache/com.google.firebase.app@6.15.0/Firebase/m2repository;file:////Users/peter/Projects/hopply/Library/PackageCache/com.google.firebase.remote-config@6.15.0/Firebase/m2repository;file:////Users/peter/Projects/hopply/Library/PackageCache/com.google.firebase.analytics@6.15.0/Firebase/m2repository" "-PPACKAGES_TO_COPY=com.android.support:support-v4:25.3.1;com.android.support:appcompat-v7:25.3.1;com.android.support:cardview-v7:25.3.1;com.android.support:customtabs:25.3.1;com.parse.bolts:bolts-android:1.4.0;com.facebook.android:facebook-core:[6.2.0, 7);com.facebook.android:facebook-applinks:[6.2.0, 7);com.facebook.android:facebook-login:[6.2.0, 7);com.facebook.android:facebook-share:[6.2.0, 7);com.facebook.android:facebook-gamingservices:[6.2.0, 7);com.ironsource.sdk:mediationsdk:6.16.1;com.google.android.gms:play-services-ads-identifier:17.0.0;com.google.android.gms:play-services-ads:19.1.0;com.ironsource.adapters:admobadapter:4.3.9;com.ironsource.adapters:unityadsadapter:4.3.3;com.google.firebase:firebase-common:19.3.0;com.google.firebase:firebase-analytics:17.4.1;com.google.firebase:firebase-app-unity:6.15.0;com.google.firebase:firebase-config:19.1.4;com.google.firebase:firebase-config-unity:6.15.0;com.google.firebase:firebase-analytics-unity:6.15.0" "-PUSE_JETIFIER=1" "-PDATA_BINDING_VERSION=3.4.0"'

java.lang.NoClassDefFoundError: Could not initialize class org.codehaus.groovy.vmplugin.v7.Java7
	at org.codehaus.groovy.vmplugin.VMPluginFactory.<clinit>(VMPluginFactory.java:43)
	at org.codehaus.groovy.reflection.GroovyClassValueFactory.<clinit>(GroovyClassValueFactory.java:35)
	at org.codehaus.groovy.reflection.ClassInfo.<clinit>(ClassInfo.java:109)
	at org.codehaus.groovy.reflection.ReflectionCache.getCachedClass(ReflectionCache.java:95)
	at org.codehaus.groovy.reflection.ReflectionCache.<clinit>(ReflectionCache.java:39)
	at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.registerMethods(MetaClassRegistryImpl.java:209)
	at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.<init>(MetaClassRegistryImpl.java:107)
	at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.<init>(MetaClassRegistryImpl.java:85)
	at groovy.lang.GroovySystem.<clinit>(GroovySystem.java:36)
	at org.codehaus.groovy.runtime.InvokerHelper.<clinit>(InvokerHelper.java:86)
	at groovy.lang.GroovyObjectSupport.getDefaultMetaClass(GroovyObjectSupport.java:59)
	at groovy.lang.GroovyObjectSupport.<init>(GroovyObjectSupport.java:32)
	at org.gradle.api.internal.plugins.DefaultExtraPropertiesExtension.<init>(DefaultExtraPropertiesExtension.java:29)
	at org.gradle.api.internal.plugins.DefaultConvention.<init>(DefaultConvention.java:47)
	at org.gradle.api.internal.ExtensibleDynamicObject.<init>(ExtensibleDynamicObject.java:58)
	at org.gradle.initialization.DefaultSettings.<init>(DefaultSettings.java:93)
	at org.gradle.initialization.DefaultSettings_Decorated.<init>(Unknown Source)
	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	...

I found out that it is related to Gradle issue: gradle/gradle#10248
So I tried to:

  • manually change version of Gradle in Temp/PlayServicesResolverGradle/gradle/wrapper/gradle-wrapper.properties from gradle-5.1.1-bin.zip to gradle-6.4-bin.zip
  • run that long gradlew command by myself (...gradlew --no-daemon -b "/Users/peter/Projects/...)
    And it finishes without any problem.

My suggestion is to upgrade the Gradle used by resolver.

Please answer the following, if applicable:

What's the issue repro rate?
99%

In the past, I was able to run Android resolver successfully 3 times exactly. I really don't know why it worked, because it was always with the same configuration after countless of failures.

@peterpp peterpp added the new to be triaged label Jun 16, 2020
@patm1987
Copy link
Collaborator

I'll add this as a feature request to update the gradle wrapper (feel free to submit a PR!).

For now, I have good luck using the OpenJDK that ships with Unity. That would be another reliable workaround for now:
image
image

@ApWin
Copy link

ApWin commented Jul 13, 2020

I have the same issue !

@CorpusCallosum
Copy link

Hi, I'm getting the same issue, installing OpenJDK via Unity Hub did not work for me.

I tried uninstalling and reinstalling Unity with the Android SDK and OpenJDK included, still getting this error. Any help or ideas would be greatly appreciated, thanks!

@peterpp
Copy link
Author

peterpp commented Jul 16, 2020

Thank you @patm1987 for response. However, I have OpenJDK installed via Unity HUB with the exact same configuration as you do. After submitting this issue, I tried it again and... voilà... it worked. I changed nothing. So now I have exact 4 successfull cases (in several months).

@extrawurst
Copy link

I run into the same issue 👎

@roger-o3h
Copy link

roger-o3h commented Aug 24, 2020

Also experiencing this on latest EDM4U 1.2.157, with Unity 2019.4.5f1 set up to use 100% external tools bundled in install from Hub.
I believe for whatever reason EDM4U is failing to use the java version specified by Unity's External Tools preferences and is still using the system java. If you wish to reproduce this issue you may want to attempt uninstalling any systemwide install of jdk. (Find in /Library/Java/JavaVirtualMachines and verify with /usr/libexec/java_home -V)

@roger-o3h
Copy link

roger-o3h commented Aug 24, 2020

Yes, this appears to be the case. You can work around this issue by setting the systemwide java install to OpenJDK java 1.8 (e.g. brew tap AdoptOpenJDK/openjdk; brew cask install adoptopenjdk8)
However, @patm1987 please consider the issue at hand that at least on MacOS Catalina, during resolution EDM4U is not honoring the JAVA_HOME set in Unity external tools preferences, instead using systemwide Java, which is a genuine issue.

@extrawurst
Copy link

@roger-o3h can you give more details how you work around this issue? just installing this jdk cask does not cut it for me.

@extrawurst
Copy link

Gradle failed to fetch dependencies.

Failed to run '<unityproject>/Temp/PlayServicesResolverGradle/gradlew --no-daemon -b "<unityproject>/Temp/PlayServicesResolverGradle/PlayServicesResolver.scripts.download_artifacts.gradle" "-PANDROID_HOME=/Applications/Unity/Hub/Editor/2019.4.8f1/PlaybackEngines/AndroidPlayer/SDK" "-PTARGET_DIR=<unityproject>/Assets/Plugins/Android" "-PMAVEN_REPOS=" "-PPACKAGES_TO_COPY=com.android.support:support-v4:25.3.1;com.android.support:appcompat-v7:25.3.1;com.android.support:cardview-v7:25.3.1;com.android.support:customtabs:25.3.1" "-PUSE_JETIFIER=1" "-PDATA_BINDING_VERSION=3.4.0"'
stdout:

stderr:
java.lang.NoClassDefFoundError: Could not initialize class org.codehaus.groovy.vmplugin.v7.Java7
	at org.codehaus.groovy.vmplugin.VMPluginFactory.<clinit>(VMPluginFactory.java:43)
	at org.codehaus.groovy.reflection.GroovyClassValueFactory.<clinit>(GroovyClassValueFactory.java:35)
	at org.codehaus.groovy.reflection.ClassInfo.<clinit>(ClassInfo.java:109)
	at org.codehaus.groovy.reflection.ReflectionCache.getCachedClass(ReflectionCache.java:95)
	at org.codehaus.groovy.reflection.ReflectionCache.<clinit>(ReflectionCache.java:39)
	at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.registerMethods(MetaClassRegistryImpl.java:209)
	at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.<init>(MetaClassRegistryImpl.java:107)
	at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.<init>(MetaClassRegistryImpl.java:85)
	at groovy.lang.GroovySystem.<clinit>(GroovySystem.java:36)
	at org.codehaus.groovy.runtime.InvokerHelper.<clinit>(InvokerHelper.java:86)
	at groovy.lang.GroovyObjectSupport.getDefaultMetaClass(GroovyObjectSupport.java:59)
	at groovy.lang.GroovyObjectSupport.<init>(GroovyObjectSupport.java:32)
	at org.gradle.api.internal.plugins.DefaultExtraPropertiesExtension.<init>(DefaultExtraPropertiesExtension.java:29)
	at org.gradle.api.internal.plugins.DefaultConvention.<init>(DefaultConvention.java:47)
	at org.gradle.api.internal.ExtensibleDynamicObject.<init>(ExtensibleDynamicObject.java:58)
	at org.gradle.initialization.DefaultSettings.<init>(DefaultSettings.java:93)
	at org.gradle.initialization.DefaultSettings_Decorated.<init>(Unknown Source)
	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500)
	at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:481)
	at org.gradle.internal.reflect.DirectInstantiator.newInstance(DirectInstantiator.java:51)
	at org.gradle.api.internal.ClassGeneratorBackedInstantiator.newInstance(ClassGeneratorBackedInstantiator.java:36)
	at org.gradle.initialization.SettingsFactory.createSettings(SettingsFactory.java:52)
	at org.gradle.initialization.ScriptEvaluatingSettingsProcessor.process(ScriptEvaluatingSettingsProcessor.java:56)
	at org.gradle.initialization.PropertiesLoadingSettingsProcessor.process(PropertiesLoadingSettingsProcessor.java:37)
	at org.gradle.initialization.SettingsEvaluatedCallbackFiringSettingsProcessor.process(SettingsEvaluatedCallbackFiringSettingsProcessor.java:34)
	at org.gradle.initialization.RootBuildCacheControllerSettingsProcessor.process(RootBuildCacheControllerSettingsProcessor.java:36)
	at org.gradle.initialization.BuildOperationSettingsProcessor$2.call(BuildOperationSettingsProcessor.java:48)
	at org.gradle.initialization.BuildOperationSettingsProcessor$2.call(BuildOperationSettingsProcessor.java:45)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:315)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:305)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:175)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:101)
	at org.gradle.internal.operations.DelegatingBuildOperationExecutor.call(DelegatingBuildOperationExecutor.java:36)
	at org.gradle.initialization.BuildOperationSettingsProcessor.process(BuildOperationSettingsProcessor.java:45)
	at org.gradle.initialization.DefaultSettingsLoader.findSettingsAndLoadIfAppropriate(DefaultSettingsLoader.java:104)
	at org.gradle.initialization.DefaultSettingsLoader.findAndLoadSettings(DefaultSettingsLoader.java:45)
	at org.gradle.initialization.SettingsAttachingSettingsLoader.findAndLoadSettings(SettingsAttachingSettingsLoader.java:35)
	at org.gradle.internal.composite.CommandLineIncludedBuildSettingsLoader.findAndLoadSettings(CommandLineIncludedBuildSettingsLoader.java:34)
	at org.gradle.internal.composite.ChildBuildRegisteringSettingsLoader.findAndLoadSettings(ChildBuildRegisteringSettingsLoader.java:47)
	at org.gradle.internal.composite.CompositeBuildSettingsLoader.findAndLoadSettings(CompositeBuildSettingsLoader.java:35)
	at org.gradle.initialization.DefaultGradleLauncher$LoadBuild.run(DefaultGradleLauncher.java:277)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:301)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:293)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:175)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:91)
	at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)
	at org.gradle.initialization.DefaultGradleLauncher.loadSettings(DefaultGradleLauncher.java:202)
	at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:147)
	at org.gradle.initialization.DefaultGradleLauncher.executeTasks(DefaultGradleLauncher.java:134)
	at org.gradle.internal.invocation.GradleBuildController$1.execute(GradleBuildController.java:58)
	at org.gradle.internal.invocation.GradleBuildController$1.execute(GradleBuildController.java:55)
	at org.gradle.internal.invocation.GradleBuildController$3.create(GradleBuildController.java:82)
	at org.gradle.internal.invocation.GradleBuildController$3.create(GradleBuildController.java:75)
	at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:183)
	at org.gradle.internal.work.StopShieldingWorkerLeaseService.withLocks(StopShieldingWorkerLeaseService.java:40)
	at org.gradle.internal.invocation.GradleBuildController.doBuild(GradleBuildController.java:75)
	at org.gradle.internal.invocation.GradleBuildController.run(GradleBuildController.java:55)
	at org.gradle.tooling.internal.provider.ExecuteBuildActionRunner.run(ExecuteBuildActionRunner.java:31)
	at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
	at org.gradle.launcher.exec.BuildOutcomeReportingBuildActionRunner.run(BuildOutcomeReportingBuildActionRunner.java:58)
	at org.gradle.tooling.internal.provider.ValidatingBuildActionRunner.run(ValidatingBuildActionRunner.java:32)
	at org.gradle.launcher.exec.BuildCompletionNotifyingBuildActionRunner.run(BuildCompletionNotifyingBuildActionRunner.java:39)
	at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner$3.call(RunAsBuildOperationBuildActionRunner.java:49)
	at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner$3.call(RunAsBuildOperationBuildActionRunner.java:44)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:315)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:305)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:175)
	at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:101)
	at org.gradle.internal.operations.DelegatingBuildOperationExecutor.call(DelegatingBuildOperationExecutor.java:36)
	at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner.run(RunAsBuildOperationBuildActionRunner.java:44)
	at org.gradle.launcher.exec.InProcessBuildActionExecuter$1.transform(InProcessBuildActionExecuter.java:49)
	at org.gradle.launcher.exec.InProcessBuildActionExecuter$1.transform(InProcessBuildActionExecuter.java:46)
	at org.gradle.composite.internal.DefaultRootBuildState.run(DefaultRootBuildState.java:78)
	at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:46)
	at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:31)
	at org.gradle.launcher.exec.BuildTreeScopeBuildActionExecuter.execute(BuildTreeScopeBuildActionExecuter.java:42)
	at org.gradle.launcher.exec.BuildTreeScopeBuildActionExecuter.execute(BuildTreeScopeBuildActionExecuter.java:28)
	at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:78)
	at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:52)
	at org.gradle.tooling.internal.provider.SubscribableBuildActionExecuter.execute(SubscribableBuildActionExecuter.java:59)
	at org.gradle.tooling.internal.provider.SubscribableBuildActionExecuter.execute(SubscribableBuildActionExecuter.java:36)
	at org.gradle.tooling.internal.provider.SessionScopeBuildActionExecuter.execute(SessionScopeBuildActionExecuter.java:68)
	at org.gradle.tooling.internal.provider.SessionScopeBuildActionExecuter.execute(SessionScopeBuildActionExecuter.java:38)
	at org.gradle.tooling.internal.provider.GradleThreadBuildActionExecuter.execute(GradleThreadBuildActionExecuter.java:37)
	at org.gradle.tooling.internal.provider.GradleThreadBuildActionExecuter.execute(GradleThreadBuildActionExecuter.java:26)
	at org.gradle.tooling.internal.provider.ParallelismConfigurationBuildActionExecuter.execute(ParallelismConfigurationBuildActionExecuter.java:43)
	at org.gradle.tooling.internal.provider.ParallelismConfigurationBuildActionExecuter.execute(ParallelismConfigurationBuildActionExecuter.java:29)
	at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:60)
	at org.gradle.tooling.internal.provider.StartParamsValidatingActionExecuter.execute(StartParamsValidatingActionExecuter.java:32)
	at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:55)
	at org.gradle.tooling.internal.provider.SessionFailureReportingActionExecuter.execute(SessionFailureReportingActionExecuter.java:41)
	at org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute(SetupLoggingActionExecuter.java:48)
	at org.gradle.tooling.internal.provider.SetupLoggingActionExecuter.execute(SetupLoggingActionExecuter.java:32)
	at org.gradle.launcher.cli.RunBuildAction.run(RunBuildAction.java:55)
	at org.gradle.internal.Actions$RunnableActionAdapter.execute(Actions.java:207)
	at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:403)
	at org.gradle.launcher.cli.CommandLineActionFactory$ParseAndBuildAction.execute(CommandLineActionFactory.java:376)
	at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:37)
	at org.gradle.launcher.cli.ExceptionReportingAction.execute(ExceptionReportingAction.java:23)
	at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:369)
	at org.gradle.launcher.cli.CommandLineActionFactory$WithLogging.execute(CommandLineActionFactory.java:299)
	at org.gradle.launcher.Main.doAction(Main.java:36)
	at org.gradle.launcher.bootstrap.EntryPoint.run(EntryPoint.java:45)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:564)
	at org.gradle.launcher.bootstrap.ProcessBootstrap.runNoExit(ProcessBootstrap.java:60)
	at org.gradle.launcher.bootstrap.ProcessBootstrap.run(ProcessBootstrap.java:37)
	at org.gradle.launcher.GradleMain.main(GradleMain.java:23)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:564)
	at org.gradle.wrapper.BootstrapMainStarter.start(BootstrapMainStarter.java:30)
	at org.gradle.wrapper.WrapperExecutor.execute(WrapperExecutor.java:129)
	at org.gradle.wrapper.GradleWrapperMain.main(GradleWrapperMain.java:61)

FAILURE: Build failed with an exception.

* What went wrong:
Could not create an instance of type org.gradle.initialization.DefaultSettings_Decorated.
> Could not initialize class org.codehaus.groovy.reflection.ReflectionCache

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 5s

exit code: 1

UnityEngine.Debug:LogError(Object)
Google.Logger:Log(String, LogLevel) (at Z:/tmp/tmp.iekf7WyTfN/third_party/unity/unity_jar_resolver/source/VersionHandlerImpl/src/Logger.cs:136)
GooglePlayServices.PlayServicesResolver:Log(String, LogLevel) (at Z:/tmp/tmp.ya7akFHaCt/third_party/unity/unity_jar_resolver/source/AndroidResolver/src/PlayServicesResolver.cs:1008)
GooglePlayServices.<GradleResolution>c__AnonStorey1:<>m__2(Result) (at Z:/tmp/tmp.ya7akFHaCt/third_party/unity/unity_jar_resolver/source/AndroidResolver/src/GradleResolver.cs:451)
GooglePlayServices.<GradleResolution>c__AnonStorey3:<>m__0() (at Z:/tmp/tmp.ya7akFHaCt/third_party/unity/unity_jar_resolver/source/AndroidResolver/src/GradleResolver.cs:564)
Google.RunOnMainThread:ExecuteNext() (at Z:/tmp/tmp.iekf7WyTfN/third_party/unity/unity_jar_resolver/source/VersionHandlerImpl/src/RunOnMainThread.cs:486)
Google.RunOnMainThread:<ExecuteAllUnnested>m__1() (at Z:/tmp/tmp.iekf7WyTfN/third_party/unity/unity_jar_resolver/source/VersionHandlerImpl/src/RunOnMainThread.cs:536)
Google.RunOnMainThread:RunAction(Action) (at Z:/tmp/tmp.iekf7WyTfN/third_party/unity/unity_jar_resolver/source/VersionHandlerImpl/src/RunOnMainThread.cs:343)
Google.RunOnMainThread:ExecuteAllUnnested(Boolean) (at Z:/tmp/tmp.iekf7WyTfN/third_party/unity/unity_jar_resolver/source/VersionHandlerImpl/src/RunOnMainThread.cs:530)
Google.RunOnMainThread:ExecuteAll() (at Z:/tmp/tmp.iekf7WyTfN/third_party/unity/unity_jar_resolver/source/VersionHandlerImpl/src/RunOnMainThread.cs:512)
UnityEditor.EditorApplication:Internal_CallUpdateFunctions() (at /Users/builduser/buildslave/unity/build/Editor/Mono/EditorApplication.cs:310)
Unable to determine which Android packages are installed.
Failed to run '/Applications/Unity/Hub/Editor/2019.4.8f1/PlaybackEngines/AndroidPlayer/SDK/tools/bin/sdkmanager --list --verbose'
stdout:

stderr:
Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema
	at com.android.repository.api.SchemaModule$SchemaModuleVersion.<init>(SchemaModule.java:156)
	at com.android.repository.api.SchemaModule.<init>(SchemaModule.java:75)
	at com.android.sdklib.repository.AndroidSdkHandler.<clinit>(AndroidSdkHandler.java:81)
	at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:73)
	at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:48)
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.annotation.XmlSchema
	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:602)
	at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
	... 5 more

exit code: 1

UnityEngine.Debug:Log(Object)
Google.Logger:Log(String, LogLevel) (at Z:/tmp/tmp.iekf7WyTfN/third_party/unity/unity_jar_resolver/source/VersionHandlerImpl/src/Logger.cs:124)
GooglePlayServices.PlayServicesResolver:Log(String, LogLevel) (at Z:/tmp/tmp.ya7akFHaCt/third_party/unity/unity_jar_resolver/source/AndroidResolver/src/PlayServicesResolver.cs:1008)
GooglePlayServices.<QueryPackages>c__AnonStorey0:<>m__0(Result) (at Z:/tmp/tmp.ya7akFHaCt/third_party/unity/unity_jar_resolver/source/AndroidResolver/src/AndroidSdkManager.cs:433)
GooglePlayServices.ProgressReporter:SignalComplete() (at Z:/tmp/tmp.ya7akFHaCt/third_party/unity/unity_jar_resolver/source/AndroidResolver/src/CommandLineDialog.cs:116)
GooglePlayServices.ProgressReporter:CommandLineToolCompletion(Result) (at Z:/tmp/tmp.ya7akFHaCt/third_party/unity/unity_jar_resolver/source/AndroidResolver/src/CommandLineDialog.cs:107)
GooglePlayServices.<RunAsync>c__AnonStorey1:<>m__0() (at Z:/tmp/tmp.ya7akFHaCt/third_party/unity/unity_jar_resolver/source/AndroidResolver/src/CommandLine.cs:137)
Google.RunOnMainThread:ExecuteNext() (at Z:/tmp/tmp.iekf7WyTfN/third_party/unity/unity_jar_resolver/source/VersionHandlerImpl/src/RunOnMainThread.cs:486)
Google.RunOnMainThread:<ExecuteAllUnnested>m__1() (at Z:/tmp/tmp.iekf7WyTfN/third_party/unity/unity_jar_resolver/source/VersionHandlerImpl/src/RunOnMainThread.cs:536)
Google.RunOnMainThread:RunAction(Action) (at Z:/tmp/tmp.iekf7WyTfN/third_party/unity/unity_jar_resolver/source/VersionHandlerImpl/src/RunOnMainThread.cs:343)
Google.RunOnMainThread:ExecuteAllUnnested(Boolean) (at Z:/tmp/tmp.iekf7WyTfN/third_party/unity/unity_jar_resolver/source/VersionHandlerImpl/src/RunOnMainThread.cs:530)
Google.RunOnMainThread:ExecuteAll() (at Z:/tmp/tmp.iekf7WyTfN/third_party/unity/unity_jar_resolver/source/VersionHandlerImpl/src/RunOnMainThread.cs:512)
UnityEditor.EditorApplication:Internal_CallUpdateFunctions() (at /Users/builduser/buildslave/unity/build/Editor/Mono/EditorApplication.cs:310)

@roger-o3h
Copy link

You may have multiple JVMs installed? Can you paste the output of /usr/libexec/java_home -V ?

@extrawurst
Copy link

Yeah I had multiple JVMs installed apparently, after uninstalling all but the adoptopenjdk8 it worked, is that supposed to be the case?

@roger-o3h
Copy link

roger-o3h commented Aug 24, 2020 via email

@roger-o3h
Copy link

Possible duplicate of #323

@KseniaKrasotina
Copy link

I faced the same issue and have only 1 JVM installed

@qbit86
Copy link

qbit86 commented Sep 3, 2020

This issue started reproducing today for no particular reason :(

Unity 2018.4.10f1
External Dependency Manager 1.2.156

@extrawurst
Copy link

Yeah we also still have one machine with this issue...

@FerhatBahceci
Copy link

I had the same problem when upgrading Kotlin from 1.3.x to 1.4.

Since Kotlin 1.4 demands a newer version of gradle I hade to upgrade my gradle version on my machine. This made my groovy tests failing, resulting in the exception raised in this thread.

After trying out some different stuff I managed to get it working by doing the following.

1. Remove apply plugin: ‘groovy’ from my build.gradle file
2. Add testImplementation ‘org.codehaus.groovy:groovy-all:2.4.15’ to my build.gradle file

Hope it works for you guys as well! Good luck!

@nakatsuji-tomohiro
Copy link

I resolve this problem with this article. (language:japanese)
it's problem probably doesn't depend on jdk version referenced by unity.

・After play External Dependency Manager>Android>Force Resolve,
manually change version of Gradle from gradle-5.1.1-bin.zip to gradle-6.4.1-bin.zip in gradle/wapper/gradle-wrapper.properties in Temp/PlayServicesResolverGradle/PlayServicesResolver.scripts.gradle-template.zip

unity editor version is 2017.4.40f1
External Dependency Manager 1.2.157
Mac OS Catalina (10.15.5)

@chkuang-g
Copy link
Collaborator

chkuang-g commented Sep 18, 2020

Hi folks,

I actually tried to upgrade gradle from 5.1.1 to 6.5 and it basically broke the unit tests (./gradlew testDownloadArtifacts) for EDM4U for a couple of reasons.

  • Gradle 6 introduced quite amount of breaking changes in script so that many code in download_artifacts.gradle, which does the resolution using Gradle, will need to update to work with 6.
  • Gradle 6 changes version range definition. 1.2.3 in Gradle 5 means any version equal and above 1.2.3 but below 2.0.0, while in Gradle 6 it simply means the exact version 1.2.3.

Due to this, I'm quite concerned to upgrade gradle for EDM4U to 6+. And make EDM4U compatible to 6+ turns out to be a pretty tedious work.

For those who installed later version Gradle, as long as Use Gradle Daemon in Android Resolver settings is UNCHECKED, EDM4U should still use the older version of Gradle.

If this remains to be an issue for you, I would recommend to utilize Custom Gradle Template, a.k.a mainTemplate.gradle. In that case, EDM4U will not run the Gradle script but simply injecting dependencies to mainTemplate.gradle.

It looks like this is impacting many people, and I cannot reproduce this issue on my machine. If possible, please offer a minimum viable project and your configurations (Unity version, JDK version, External tools settings, OS, etc).

Thanks

@nikhilmehta2014
Copy link

nikhilmehta2014 commented Sep 26, 2020

I resolve this problem with this article. (language:japanese)
it's problem probably doesn't depend on jdk version referenced by unity.

・After play External Dependency Manager>Android>Force Resolve,
manually change version of Gradle from gradle-5.1.1-bin.zip to gradle-6.4.1-bin.zip in gradle/wapper/gradle-wrapper.properties in Temp/PlayServicesResolverGradle/PlayServicesResolver.scripts.gradle-template.zip

unity editor version is 2017.4.40f1
External Dependency Manager 1.2.157
Mac OS Catalina (10.15.5)

Thanks, changing version from 6.1.1 to 6.4.1 worked. 👍

@KseniaKrasotina
Copy link

Interesting fact: my problem was not in a gradle. I used maven =)

@derwaldgeist
Copy link

Same problem here. Worked on one machine, but not on another. Confused about this. :-/

@derwaldgeist
Copy link

derwaldgeist commented Oct 17, 2020

Ok, I found the issue of my installation: On the new machine, I installed JDK 15, which is the default you get directed to if you run java on a freshly installed Catalina Mac (it shows up a dialog that asks you to download the JDK):

https://www.oracle.com/de/java/technologies/javase-downloads.html

After downgrading the JDK to 1.8 (as on my other machine), everything worked again. It seems as if there's a problem with JDK 15.

@derwaldgeist
Copy link

What still confuses me: Unity is setup to use its own Open JDK, but this seems to be ignored by the resolver.

@poonamsolanke
Copy link

Getting this problem for Spring boot project

java.lang.NoClassDefFoundError: Could not initialize class org.codehaus.groovy.vmplugin.v7.Java7
at org.codehaus.groovy.vmplugin.VMPluginFactory.(VMPluginFactory.java:43)
at org.codehaus.groovy.reflection.GroovyClassValueFactory.(GroovyClassValueFactory.java:35)
at org.codehaus.groovy.reflection.ClassInfo.(ClassInfo.java:107)
at org.codehaus.groovy.reflection.ReflectionCache.getCachedClass(ReflectionCache.java:95)
at org.codehaus.groovy.reflection.ReflectionCache.(ReflectionCache.java:39)
at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.registerMethods(MetaClassRegistryImpl.java:209)
at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.(MetaClassRegistryImpl.java:107)
at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.(MetaClassRegistryImpl.java:85)
at groovy.lang.GroovySystem.(GroovySystem.java:36)
at org.springframework.beans.factory.groovy.GroovyBeanDefinitionReader.(GroovyBeanDefinitionReader.java:150)
at org.springframework.boot.BeanDefinitionLoader.(BeanDefinitionLoader.java:84)
at org.springframework.boot.SpringApplication.createBeanDefinitionLoader(SpringApplication.java:733)
at org.springframework.boot.SpringApplication.load(SpringApplication.java:676)
at org.springframework.boot.SpringApplication.prepareContext(SpringApplication.java:384)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:310)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1213)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1202)
at com.cbt.Application.main(Application.java:21)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:564)
at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49)
�[2m2021-06-15 17:17:10.073�[0;39m �[31mERROR�[0;39m �[35m8846�[0;39m �[2m---�[0;39m �[2m[ restartedMain]�[0;39m �[36mo.s.boot.SpringApplication �[0;39m �[2m:�[0;39m Application run failed

java.lang.NoClassDefFoundError: Could not initialize class org.codehaus.groovy.reflection.ReflectionCache
at org.codehaus.groovy.runtime.dgmimpl.NumberNumberMetaMethod.(NumberNumberMetaMethod.java:33) ~[groovy-2.5.7.jar:2.5.7]
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[na:na]
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:64) ~[na:na]
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) ~[na:na]
at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:500) ~[na:na]
at java.base/java.lang.reflect.ReflectAccess.newInstance(ReflectAccess.java:128) ~[na:na]
at java.base/jdk.internal.reflect.ReflectionFactory.newInstance(ReflectionFactory.java:350) ~[na:na]
at java.base/java.lang.Class.newInstance(Class.java:645) ~[na:na]
at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.createMetaMethodFromClass(MetaClassRegistryImpl.java:257) ~[groovy-2.5.7.jar:2.5.7]
at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.(MetaClassRegistryImpl.java:110) ~[groovy-2.5.7.jar:2.5.7]
at org.codehaus.groovy.runtime.metaclass.MetaClassRegistryImpl.(MetaClassRegistryImpl.java:85) ~[groovy-2.5.7.jar:2.5.7]
at groovy.lang.GroovySystem.(GroovySystem.java:36) ~[groovy-2.5.7.jar:2.5.7]
at org.springframework.beans.factory.groovy.GroovyBeanDefinitionReader.(GroovyBeanDefinitionReader.java:150) ~[spring-beans-5.1.8.RELEASE.jar:5.1.8.RELEASE]
at org.springframework.boot.BeanDefinitionLoader.(BeanDefinitionLoader.java:84) ~[spring-boot-2.1.6.RELEASE.jar:2.1.6.RELEASE]
at org.springframework.boot.SpringApplication.createBeanDefinitionLoader(SpringApplication.java:733) ~[spring-boot-2.1.6.RELEASE.jar:2.1.6.RELEASE]
at org.springframework.boot.SpringApplication.load(SpringApplication.java:676) ~[spring-boot-2.1.6.RELEASE.jar:2.1.6.RELEASE]
at org.springframework.boot.SpringApplication.prepareContext(SpringApplication.java:384) ~[spring-boot-2.1.6.RELEASE.jar:2.1.6.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:310) ~[spring-boot-2.1.6.RELEASE.jar:2.1.6.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1213) ~[spring-boot-2.1.6.RELEASE.jar:2.1.6.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1202) ~[spring-boot-2.1.6.RELEASE.jar:2.1.6.RELEASE]
at com.cbt.Application.main(Application.java:21) ~[classes/:na]
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64) ~[na:na]
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]
at java.base/java.lang.reflect.Method.invoke(Method.java:564) ~[na:na]
at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) ~[spring-boot-devtools-2.1.6.RELEASE.jar:2.1.6.RELEASE]

@ZLTM
Copy link

ZLTM commented Jun 16, 2021

managed to fix it, implemented all of the following, no idea what did it:

  • Configured java path on windows environment, my own JDK path not the unity one
  • Deleted the problematic packages and re-download it
  • Configured unity to use its own gradle conf file
  • Downloaded and used java JDK 1.8, that's the one unity works with

@rumaniel
Copy link

I faced the same issue and my solution here:

  1. go to embedded Gradle path like the screenshot
    image
  2. You can find GradleTemplates/baseProjectTemplate.gradle
  3. modify it to
    classpath 'com.android.tools.build:gradle:3.4.3' from classpath 'com.android.tools.build:gradle:3.4.0'

I'm using Unity 2019.4.24f1 and it works anyway lol.

@AmmarTee
Copy link

I solved my issue by unchecking the default OpenJDK which comes with unity and installing JDK version 1.8 and setting up the Environment variable path in Unity.

@voxelbustersold
Copy link

Just install JDK 8 and it most likely fix the issue!

@giggioz
Copy link

giggioz commented Oct 21, 2021

Just install JDK 8 and it most likely fix the issue!

Can cofirm: new macbook, new Unity Install (2020.3.20f1) failed to compile for android. I had only JDK17, I removed it and installed JDK8, then I unchecked JDK Installed with Unity and set to point to JDK8 (/Library/Java/JavaVirtualMachines/jdk1.8.0_301.jdk)

Probably I've could have kept the JDK17

@Ashrakat-Hefny
Copy link

Ashrakat-Hefny commented Oct 25, 2021

using jdk 1.8 solved this for me (using intellij on windows 10)

@DoritoDog
Copy link

I faced the same issue and my solution here:

  1. go to embedded Gradle path like the screenshot
    image
  2. You can find GradleTemplates/baseProjectTemplate.gradle
  3. modify it to
    classpath 'com.android.tools.build:gradle:3.4.3' from classpath 'com.android.tools.build:gradle:3.4.0'

I'm using Unity 2019.4.24f1 and it works anyway lol.

Worked for me, thanks!

@OWL7seven
Copy link

I solved my issue like this by disabling jetifier in the setting of android resolver, then force resolving, and it resolved without error. I revert from 10.14 to 10.12, cause i couldn't get it to work, and i did nothing to my google play system and its been working flawlessly until recently for some reason. which happened more or less after the 10.14 update. i found just a simple restart of the computer seems to work when i had this issue before. but that didn't work now.

hope this helps someone, been dealing with google issues for days now

@joaquinre-digitalarts
Copy link

Hi, as a colleague says above, in my case, working with Unity on OSX, the problem was that gradle was using the version of java installed on the system, not the one embedded in Unity. I fixed it by editing the .zshrc file in the user folder and adding:
export PATH="unity_embedded_java_path:$PATH"

@kjyv
Copy link

kjyv commented Feb 2, 2022

I had Unity freeze when trying to build for Android (and errors about missing JRE after starting Unity). The fix is a bit non-obvious that I first installed a recent JRE (17), getting the OPs error and then finding this ticket to understand it has to be version 8. How about fixing this google and using the Unity-included version 8 JRE so people don't have to fiddle so much?

@ChrisNZL
Copy link

Stumbled upon this issue (again). I remember reading some answer on the Unity Answers site that fixed this before, and it's fixed it again now.

To fix this without mucking around with any installations or editing any files:

  1. Unity > Edit > Preferences > External Tools
  2. Click and click again on each JDK, Android SDK, Android NDK, and Gradle checkbox.

The act of toggling each checkbox resets something within Unity's settings somewhere.

Afterwards, Gradle should function properly.

unity_android_gradle_fix

@kjyv
Copy link

kjyv commented Mar 15, 2022

This might work in some cases but I also did that and it did nothing

@jvrieling
Copy link

jvrieling commented Jun 23, 2022

Stumbled upon this issue (again). I remember reading some answer on the Unity Answers site that fixed this before, and it's fixed it again now.

To fix this without mucking around with any installations or editing any files:

1. Unity > Edit > Preferences > External Tools

2. Click and click again on each JDK, Android SDK, Android NDK, and Gradle checkbox.

The act of toggling each checkbox resets something within Unity's settings somewhere.

Afterwards, Gradle should function properly.

This worked for me (this time at least)! Thanks, you've saved me from restarting my PC constantly 😓

@vhnunes
Copy link

vhnunes commented Aug 16, 2022

Stumbled upon this issue (again). I remember reading some answer on the Unity Answers site that fixed this before, and it's fixed it again now.

To fix this without mucking around with any installations or editing any files:

  1. Unity > Edit > Preferences > External Tools
  2. Click and click again on each JDK, Android SDK, Android NDK, and Gradle checkbox.

The act of toggling each checkbox resets something within Unity's settings somewhere.

Afterwards, Gradle should function properly.

unity_android_gradle_fix unity_android_gradle_fix

Worked here, Unity 2019.4

@imannms000
Copy link

Stumbled upon this issue (again). I remember reading some answer on the Unity Answers site that fixed this before, and it's fixed it again now.

To fix this without mucking around with any installations or editing any files:

  1. Unity > Edit > Preferences > External Tools
  2. Click and click again on each JDK, Android SDK, Android NDK, and Gradle checkbox.

The act of toggling each checkbox resets something within Unity's settings somewhere.

Afterwards, Gradle should function properly.

unity_android_gradle_fix unity_android_gradle_fix

I can't believe it! This simple thing is actually works for me! No need to install another java. No need to upgrade gradle. No need to reinstall Unity! No need to buy a new PC!

Just disabled all of them. And enabled it again. It's works! It's really that simple!

@dangdennis
Copy link

The unchecking and checking of boxes work.

Another small, funny issue with external dep manager that forces me to re-open Unity: subsequent resolves and force-resolves fail silently after gradle encounters an error.

So on first opening Unity, uncheck and re-check your boxes THEN force resolve.

@yazeedMohi
Copy link

image

Try enabling Jetifier as shown in the screenshot attached. This worked for me.

@igloo12
Copy link

igloo12 commented May 3, 2023

This problem is like wack a mole I fix it. Then something happens and it breaks again and none of the fixes work again. I have wasted an ungodly amount of time on this problem

@Davidnovarro
Copy link

3 years since issue was created, still having the same problem

MaxKolac added a commit to MaxKolac/pogo-fish that referenced this issue Jun 12, 2023
googlesamples/unity-jar-resolver#384
The cause was the lack of required dependencies. The Android Manager's Force Resolver would throw a ClassNotFoundException when starting a Gradle daemon. Fixed it by removing another installation of Java SDK used in another project, because apparently Unity was trying to use that SDK, instead of OpenJDK it has downloaded.
@rankornbb
Copy link

rankornbb commented Jun 19, 2023

imannms000
Trick actually works.. amazing

@gblikas
Copy link

gblikas commented Jun 30, 2023

#384 (comment)

programming in a nutshell 😮‍💨 🌴

@RomainBitard
Copy link

Still having this issue, unity build system is truly horrendous

@chiragms
Copy link

chiragms commented Aug 5, 2023

Stumbled upon this issue (again). I remember reading some answer on the Unity Answers site that fixed this before, and it's fixed it again now.

To fix this without mucking around with any installations or editing any files:

  1. Unity > Edit > Preferences > External Tools
  2. Click and click again on each JDK, Android SDK, Android NDK, and Gradle checkbox.

The act of toggling each checkbox resets something within Unity's settings somewhere.

Afterwards, Gradle should function properly.

unity_android_gradle_fix unity_android_gradle_fix

This worked for me! Thanks a million, bro.
Such a silly issue! Hope it will be fixed in future builds.

@mathiassoeholm
Copy link

mathiassoeholm commented Sep 14, 2023

I did the following to make it work (I'm on mac):

@VMaldecoasago
Copy link

Do you happen to have any news on this? I'm still having this problem on both Unity 2020 and 2022, I can confirm that EDM4U is ignoring Unity's JDK and using the one set on JAVA_HOME. Since I'm having this problem on batch mode, I had to implement a build preprocessor that sets the JAVA_HOME to Unity's JDK to fix it. It seems simple to solve it on the EDM4U's side.

@go3k
Copy link

go3k commented Jan 30, 2024

For those who using Jenkisn, if your jenkins is not running on Java8, In the Build History/Environment variables page you will find the JAVA_HOME variable is not the value you want. And for some reason, this will lead to the problem.
The solution is:

  1. go to Manage Jenkins/System page, find and check Global properties/Environment variables
  2. Add a variable Name = JAVA_HOME, value = your Java8 Home path.

@ViacheslavRud
Copy link

ViacheslavRud commented Jan 30, 2024

I still have this error. Unity > Edit > Preferences > External Tools checkboxes, paths change does not help at all.
Normal resolution says to be succeeded but it does not resolve libraries. Forse resolve leads to:
Could not initialize class org.codehaus.groovy.reflection.ReflectionCache
I set JAVA_HOME to OpenJDK bundled with Unity. Does not help.
Unity 2023.3.30

Also tried with JDK 8 installed, and set the path there in Preferences. Same result

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests