Skip to content

Type androidx.lifecycle.DispatchQueue is defined multiple times #742

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

Closed
Arash1972 opened this issue Jun 6, 2023 · 6 comments
Closed

Type androidx.lifecycle.DispatchQueue is defined multiple times #742

Arash1972 opened this issue Jun 6, 2023 · 6 comments

Comments

@Arash1972
Copy link

Android application type

Android for .NET (net6.0-android, etc.)

Affected platform version

VS 2022, MAUI .Net 7.0

Description

I try to add GooglePlayService and firebase service to the MAUI project but got the error. I found that the error is on package xamarin.androidx.lifecycle.common version 2.6.1.2
i also tray the older verions but no one solve the issue.

Steps to Reproduce

  1. Using VS2022 create new MAUI for .NET 7.0
  2. add reference to xamarin.androidx.lifecycle.common 2.6.1.2
  3. compile the project

Did you find any workaround?

No response

Relevant log output

Severity	Code	Description	Project	File	Line	Suppression State
Error	JAVA0000	Error in C:\Users\Arash\.nuget\packages\
xamarin.androidx.lifecycle.common\2.6.1.2\buildTransitive\net6.0-android31.0\..\..\jar\androidx.lifecycle.lifecycle-common.jar:androidx/lifecycle/DispatchQueue.class:
Type androidx.lifecycle.DispatchQueue is defined multiple times: C:\Users\Arash\.nuget\packages\xamarin.androidx.lifecycle.common\2.6.1.2\buildTransitive\net6.0-android31.0\..\..\jar\androidx.lifecycle.lifecycle-common.jar:androidx/lifecycle/DispatchQueue.class, obj\Debug\net7.0-android\lp\135\jl\classes.jar:androidx/lifecycle/DispatchQueue.class
Compilation failed
java.lang.RuntimeException: com.android.tools.r8.CompilationFailedException: Compilation failed to complete, origin: C:\Users\Arash\.nuget\packages\xamarin.androidx.lifecycle.common\2.6.1.2\buildTransitive\net6.0-android31.0\..\..\jar\androidx.lifecycle.lifecycle-common.jar
androidx/lifecycle/DispatchQueue.class
	at com.android.tools.r8.internal.Fj.a(R8_3.3.75_b7a6ff6b13548611571508fe72282c9167faa649161ca0013edfc92e19bd7e58:98)
	at com.android.tools.r8.D8.main(R8_3.3.75_b7a6ff6b13548611571508fe72282c9167faa649161ca0013edfc92e19bd7e58:4)
Caused by: com.android.tools.r8.CompilationFailedException: Compilation failed to complete, origin: C:\Users\Arash\.nuget\packages\xamarin.androidx.lifecycle.common\2.6.1.2\buildTransitive\net6.0-android31.0\..\..\jar\androidx.lifecycle.lifecycle-common.jar:androidx/lifecycle/DispatchQueue.class
	at Version.fakeStackEntry(Version_3.3.75.java:0)
	at com.android.tools.r8.internal.Fj.a(R8_3.3.75_b7a6ff6b13548611571508fe72282c9167faa649161ca0013edfc92e19bd7e58:75)
	at com.android.tools.r8.internal.Fj.a(R8_3.3.75_b7a6ff6b13548611571508fe72282c9167faa649161ca0013edfc92e19bd7e58:28)
	at com.android.tools.r8.internal.Fj.a(R8_3.3.75_b7a6ff6b13548611571508fe72282c9167faa649161ca0013edfc92e19bd7e58:27)
	at com.android.tools.r8.internal.Fj.b(R8_3.3.75_b7a6ff6b13548611571508fe72282c9167faa649161ca0013edfc92e19bd7e58:2)
	at com.android.tools.r8.D8.a(R8_3.3.75_b7a6ff6b13548611571508fe72282c9167faa649161ca0013edfc92e19bd7e58:22)
	at com.android.tools.r8.D8.a(R8_3.3.75_b7a6ff6b13548611571508fe72282c9167faa649161ca0013edfc92e19bd7e58:17)
	at com.android.tools.r8.internal.Fj.a(R8_3.3.75_b7a6ff6b13548611571508fe72282c9167faa649161ca0013edfc92e19bd7e58:85)
	... 1 more
Caused by: com.android.tools.r8.internal.f: Type androidx.lifecycle.DispatchQueue is defined multiple times: C:\Users\Arash\.nuget\packages\xamarin.androidx.lifecycle.common\2.6.1.2\buildTransitive\net6.0-android31.0\..\..\jar\androidx.lifecycle.lifecycle-common.jar:androidx/lifecycle/DispatchQueue.class, obj\Debug\net7.0-android\lp\135\jl\classes.jar:androidx/lifecycle/DispatchQueue.class
	at com.android.tools.r8.internal.JT.a(R8_3.3.75_b7a6ff6b13548611571508fe72282c9167faa649161ca0013edfc92e19bd7e58:14)
	at com.android.tools.r8.internal.JT.a(R8_3.3.75_b7a6ff6b13548611571508fe72282c9167faa649161ca0013edfc92e19bd7e58:22)
	at com.android.tools.r8.internal.HN.a(R8_3.3.75_b7a6ff6b13548611571508fe72282c9167faa649161ca0013edfc92e19bd7e58:33)
	at com.android.tools.r8.internal.HN.a(R8_3.3.75_b7a6ff6b13548611571508fe72282c9167faa649161ca0013edfc92e19bd7e58:10)
	at java.base/java.util.concurrent.ConcurrentHashMap.merge(ConcurrentHashMap.java:2048)
	at com.android.tools.r8.internal.HN.a(R8_3.3.75_b7a6ff6b13548611571508fe72282c9167faa649161ca0013edfc92e19bd7e58:6)
	at com.android.tools.r8.graph.B2$a.e(R8_3.3.75_b7a6ff6b13548611571508fe72282c9167faa649161ca0013edfc92e19bd7e58:4)
	at com.android.tools.r8.dex.b.a(R8_3.3.75_b7a6ff6b13548611571508fe72282c9167faa649161ca0013edfc92e19bd7e58:110)
	at com.android.tools.r8.dex.b.a(R8_3.3.75_b7a6ff6b13548611571508fe72282c9167faa649161ca0013edfc92e19bd7e58:28)
	at com.android.tools.r8.D8.a(R8_3.3.75_b7a6ff6b13548611571508fe72282c9167faa649161ca0013edfc92e19bd7e58:25)
	at com.android.tools.r8.D8.d(R8_3.3.75_b7a6ff6b13548611571508fe72282c9167faa649161ca0013edfc92e19bd7e58:606)
	at com.android.tools.r8.D8.c(R8_3.3.75_b7a6ff6b13548611571508fe72282c9167faa649161ca0013edfc92e19bd7e58:1)
	at com.android.tools.r8.internal.Fj.a(R8_3.3.75_b7a6ff6b13548611571508fe72282c9167faa649161ca0013edfc92e19bd7e58:24)
	... 5 more
Directory 'obj\Debug\net7.0-android\lp\135' is from 'androidx.lifecycle.lifecycle-runtime-ktx.aar'.	safir_delivery		1
@moljac
Copy link
Contributor

moljac commented Jun 6, 2023

@Arash1972

Thanks for the feedback. Update all your nugets to latest version and report if that solves the issue, please.

@moljac
Copy link
Contributor

moljac commented Jun 6, 2023

Duplicate:

#717

@moljac
Copy link
Contributor

moljac commented Jun 6, 2023

OK. You cannot bump MAUI dependencies.

As temp workaround try explicitly adding following PackageReferences:

		<PackageReference Include="Xamarin.AndroidX.Activity" Version="1.7.2" />
		<PackageReference Include="Xamarin.AndroidX.Activity.Ktx" Version="1.7.2" />

and yes - please report here if workaround works.

@czmirek
Copy link

czmirek commented Jun 6, 2023

@moljac Adding the Xamarin.AndroidX packages fixed the issue for me. But I keep getting these warnings during build, which didn't show before nuget update.

19>JAVAC : warning : unknown enum constant Scope.LIBRARY_GROUP_PREFIX
19>JAVAC : warning : unknown enum constant Scope.LIBRARY
19>JAVAC : warning : unknown enum constant Scope.TESTS

My packages before update and before the error showed up.

<PackageReference Include="CommunityToolkit.Maui" Version="5.1.0" />
<PackageReference Include="CommunityToolkit.Maui.Markup" Version="3.1.0" />
<PackageReference Include="CommunityToolkit.Mvvm" Version="8.2.0" />
<PackageReference Include="GoogleApi" Version="5.0.0" />
<PackageReference Include="Humanizer.Core" Version="2.14.1" />
<PackageReference Include="IdentityModel.OidcClient" Version="5.2.1" />
<PackageReference Include="LazyCache" Version="2.4.0" />
<PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="7.0.0" />
<PackageReference Include="Polly" Version="7.2.3" />
<PackageReference Include="Riok.Mapperly" Version="2.8.0" />
<PackageReference Include="sqlite-net-pcl" Version="1.8.116" />
<PackageReference Include="SQLitePCLRaw.provider.dynamic_cdecl" Version="2.1.5" />
<PackageReference Include="StrongInject" Version="1.4.4" />
<PackageReference Include="Xamarin.Android.Google.BillingClient" Version="5.2.0" />
<PackageReference Include="Xamarin.Google.Maps.Utils" Version="1.3.4" />
<PackageReference Include="Xamarin.GooglePlayServices.Maps" Version="118.1.0.1">

My packages after full update to latest versions:

<PackageReference Include="CommunityToolkit.Maui" Version="5.2.0" />     <--- UPDATED
<PackageReference Include="CommunityToolkit.Maui.Markup" Version="3.2.0" /> <--- UPDATED
<PackageReference Include="CommunityToolkit.Mvvm" Version="8.2.0" />
<PackageReference Include="GoogleApi" Version="5.0.1" /> <--- UPDATED
<PackageReference Include="Humanizer.Core" Version="2.14.1" />
<PackageReference Include="IdentityModel.OidcClient" Version="5.2.1" />
<PackageReference Include="LazyCache" Version="2.4.0" />
<PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="7.0.0" />
<PackageReference Include="Polly" Version="7.2.3" />
<PackageReference Include="Riok.Mapperly" Version="2.8.0" />
<PackageReference Include="sqlite-net-pcl" Version="1.8.116" />
<PackageReference Include="SQLitePCLRaw.provider.dynamic_cdecl" Version="2.1.5" />
<PackageReference Include="StrongInject" Version="1.4.4" />
<PackageReference Include="Xamarin.Android.Google.BillingClient" Version="6.0.0.1" /> <--- UPDATED
<PackageReference Include="Xamarin.Google.Maps.Utils" Version="1.3.4" />
<PackageReference Include="Xamarin.GooglePlayServices.Maps" Version="118.1.0.2" /> <--- UPDATED

@moljac
Copy link
Contributor

moljac commented Jun 8, 2023

@moljac Adding the Xamarin.AndroidX packages fixed the issue for me. But I keep getting these warnings during build, which didn't show before nuget update.

19>JAVAC : warning : unknown enum constant Scope.LIBRARY_GROUP_PREFIX
19>JAVAC : warning : unknown enum constant Scope.LIBRARY
19>JAVAC : warning : unknown enum constant Scope.TESTS

This is completely different issue:

#727

We provided fix few days ago.

My packages before update and before the error showed up.

<PackageReference Include="CommunityToolkit.Maui" Version="5.1.0" />
<PackageReference Include="CommunityToolkit.Maui.Markup" Version="3.1.0" />
<PackageReference Include="CommunityToolkit.Mvvm" Version="8.2.0" />
<PackageReference Include="GoogleApi" Version="5.0.0" />
<PackageReference Include="Humanizer.Core" Version="2.14.1" />
<PackageReference Include="IdentityModel.OidcClient" Version="5.2.1" />
<PackageReference Include="LazyCache" Version="2.4.0" />
<PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="7.0.0" />
<PackageReference Include="Polly" Version="7.2.3" />
<PackageReference Include="Riok.Mapperly" Version="2.8.0" />
<PackageReference Include="sqlite-net-pcl" Version="1.8.116" />
<PackageReference Include="SQLitePCLRaw.provider.dynamic_cdecl" Version="2.1.5" />
<PackageReference Include="StrongInject" Version="1.4.4" />
<PackageReference Include="Xamarin.Android.Google.BillingClient" Version="5.2.0" />
<PackageReference Include="Xamarin.Google.Maps.Utils" Version="1.3.4" />
<PackageReference Include="Xamarin.GooglePlayServices.Maps" Version="118.1.0.1">

My packages after full update to latest versions:

<PackageReference Include="CommunityToolkit.Maui" Version="5.2.0" />     <--- UPDATED
<PackageReference Include="CommunityToolkit.Maui.Markup" Version="3.2.0" /> <--- UPDATED
<PackageReference Include="CommunityToolkit.Mvvm" Version="8.2.0" />
<PackageReference Include="GoogleApi" Version="5.0.1" /> <--- UPDATED
<PackageReference Include="Humanizer.Core" Version="2.14.1" />
<PackageReference Include="IdentityModel.OidcClient" Version="5.2.1" />
<PackageReference Include="LazyCache" Version="2.4.0" />
<PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="7.0.0" />
<PackageReference Include="Polly" Version="7.2.3" />
<PackageReference Include="Riok.Mapperly" Version="2.8.0" />
<PackageReference Include="sqlite-net-pcl" Version="1.8.116" />
<PackageReference Include="SQLitePCLRaw.provider.dynamic_cdecl" Version="2.1.5" />
<PackageReference Include="StrongInject" Version="1.4.4" />
<PackageReference Include="Xamarin.Android.Google.BillingClient" Version="6.0.0.1" /> <--- UPDATED
<PackageReference Include="Xamarin.Google.Maps.Utils" Version="1.3.4" />
<PackageReference Include="Xamarin.GooglePlayServices.Maps" Version="118.1.0.2" /> <--- UPDATED

Any package[s] referencing older AX or GPS-FB-MLKit packages could be source of "duplicate classes". We did and will provide "alignment bumps" of nugets, so we ensure that published packages reference only the newest/latest in order to reduce this issue, but we cannot influence various libraries/packages we do not maintain. Those could be problematic in the future.

@moljac
Copy link
Contributor

moljac commented Jul 9, 2023

Duplicates:

#717
#742
#747
#749

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

No branches or pull requests

3 participants