googlesamples / unity-jar-resolver

Unity plugin which resolves Android & iOS dependencies and performs version management
Other
1.25k stars 342 forks source link

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

Open peterpp opened 4 years ago

peterpp commented 4 years ago

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: https://github.com/gradle/gradle/issues/10248 So I tried to:

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.

patm1987 commented 4 years ago

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 commented 4 years ago

I have the same issue !

CorpusCallosum commented 4 years ago

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 commented 4 years ago

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 commented 4 years ago

I run into the same issue 👎

roger-o3h commented 4 years ago

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 commented 4 years ago

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 commented 4 years ago

@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 commented 4 years ago
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 commented 4 years ago

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

extrawurst commented 4 years ago

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

roger-o3h commented 4 years ago

Yes, that jives with what I think is going on here... And means I'm not alone in getting this error! Hopefully the workaround will tide us over until the issue is resolved. Thanks!

roger-o3h commented 4 years ago

Possible duplicate of https://github.com/googlesamples/unity-jar-resolver/issues/323

KseniaKrasotina commented 4 years ago

I faced the same issue and have only 1 JVM installed

qbit86 commented 4 years ago

This issue started reproducing today for no particular reason :(

Unity 2018.4.10f1
External Dependency Manager 1.2.156

extrawurst commented 4 years ago

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

FerhatBahceci commented 4 years ago

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

  1. 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 commented 4 years ago

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 commented 4 years ago

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.

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 commented 4 years ago

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 commented 4 years ago

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

derwaldgeist commented 3 years ago

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

derwaldgeist commented 3 years ago

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 commented 3 years ago

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

BerndBernd17 commented 3 years ago

In my case, Unity does not seem to be using the JDK / SDK that was installed with Unity, although the check mark is set. Another path was in the background (check mark not set). If I set this path to Unity's JDK / SDK then my project works.

2020-10-18 10_48_31-Zahlen - MainMenu - Android - Unity 2019 3 15f1 Personal _DX11_

Caution:

NickBevers commented 3 years ago

Hi,

I had this problem since yesterday (in IntelliJ, not Unity) and I managed to fix it by manually installing Gradle 6.7 from their website and unzipping it in a directory C:\Gradle. (which I manually added to my C-drive) I then reset my whole IntelliJ IDEA and restarted it (not sure if that was necessary) Next, I went to File < Settings < Gradle > use Gradle from. There, I selected 'Specific location', and chose the C-drive which was made earlier.

This resolved my error so maybe it van help with Unity.

Installation instructions from Gradle: https://gradle.org/install/

sweatyc commented 3 years ago

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.

Had the same problem and I can confirm that deleting the system java and install OpenJDK fixed the problem.

Unity 2019.4.13f1
External Dependency Manager 1.2.161
Mac OS Catalina 10.15.6
leandersonralves commented 3 years ago

Hey folks, I uncheck JDK installed with Unity (recommended), use same path BUT change the last slash from \ to /, and worked.

Seems that Unity Editor or Windows not found JDK with \, whatever.

stan-osipov commented 3 years ago

I have the same problem from time to time. What works for me I just uncheck JDK installed with Unity and other related check boxes, then check it again - and we are back to work.

haripriyaaithal commented 3 years ago

I have the same problem from time to time. What works for me I just uncheck JDK installed with Unity and other related check boxes, then check it again - and we are back to work.

This worked for me. Thanks!

KhuongTBN commented 3 years ago

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

I have the same issue with maven. Did you resolve it?

leandersonralves commented 3 years ago

Updating, I put manually JAVA_HOME pointing to JDK embedded with Unity, and worked. Probably I had problem 'cause I installed Unity in another use on Win 10.

superdopey commented 3 years ago

I had this error with a fresh react-native project. I fixed it by upgrading to gradle 6.3 (it was 6.2) by setting

distributionUrl=https\://services.gradle.org/distributions/gradle-6.3-bin.zip

in android/gradle/wrapper/gradle-wrapper.properties

vladislav1muhlisov commented 3 years ago

Hey folks, I uncheck JDK installed with Unity (recommended), use same path BUT change the last slash from \ to /, and worked.

Seems that Unity Editor or Windows not found JDK with , whatever.

This worked for me. Thanks! 👍

shaamTahir commented 3 years ago

Go to android => gradle => wrapper => gradle-wrapper.properties

Property distributionUrl should be:

distributionUrl=https\://services.gradle.org/distributions/gradle-6.3-bin.zip

then in android folder => gradlew clean then => cd.. run your project

peterpp commented 3 years ago

My conclusion is that the root problem is that External Dependency Manager simply ignores java path set in Unity and uses system Java, that is newer and incompatible (JDK 14 in my case). As @derwaldgeist pointed out, downgrading system Java to 1.8 should work (Unity contains OpenJDK 1.8). I deleted Oracle's JDK, installed OpenJDK 1.8.0 from homebrew and set it to system:

sudo ln -sfn /usr/local/opt/openjdk@8/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-8.jdk

And finally it works.

TdBSnip3r commented 3 years ago

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.

Thank you. I love you

chkuang-g commented 3 years ago

@peterpp

Thanks for the conclusion.

EDM4U uses the Gradle wrapper to resolve Android dependencies. This Gradle wrapper is different from the one from Unity so that EDM4U can pin for a Gradle version. As a result, it will depends on the system Java set to your system.

Seems like there is a way to pass Java path as a parameter like ./gradlew -Dorg.gradle.java.home=/path_to_jdk_directory. Perhaps EDM4U can add this param here to pass the path in Unity to gradle

VergilUa commented 3 years ago

Make sure you've got Gradle Daemon enabled in Resolver Settings (Assets -> External Dependency Manager -> Android Resolver -> Settings) when using OpenJDK + JDK 14+ on the same system.

This is probably caused by it being disabled.

(If this happens, for future readers)

dclipca commented 3 years ago

1) Remove new Java 2) Install the old Java with brew install --cask homebrew/cask-versions/adoptopenjdk8 (MacOS) 3) ??? 4) Profit

ZLTM commented 3 years ago

still experiencing the problems, none of the solutions worked for me

poonamsolanke commented 3 years ago

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) 2021-06-15 17:17:10.073 ERROR 8846 --- [ restartedMain] o.s.boot.SpringApplication  : 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 commented 3 years ago

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

rumaniel commented 3 years ago

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 commented 3 years ago

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 commented 3 years ago

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

giggioz commented 2 years ago

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 commented 2 years ago

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

DoritoDog commented 2 years ago

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 commented 2 years ago

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