Я создаю приложение MAUI в .NET8, которое будет сканировать штрих-коды. Я пытаюсь интегрировать библиотеку GoogleVision — BarcodeScanner.Mobile.Maui (8.0.0.1) и получаю сообщение об ошибке, которую понятия не имею, как решить. Любые подсказки приветствуются.
Я вижу, что аналогичный вопрос по SO уже есть, но нет подтвержденного ответа, и я попробовал ответы оттуда, но они не сработали, поэтому я тоже публикую свой вопрос.
Код серьезности Описание Состояние подавления строки файла проекта Ошибка JAVA0000 Ошибка в C:\Users\UserX.nuget\packages\xamarin.androidx.collection.jvm\1.3.0.2\buildTransitive\net7.0-android33.0....\jar\androidx.collection.collection-jvm.jar:androidx /collection/ArrayMapKt.class: Тип androidx.collection.ArrayMapKt определен несколько раз: C:\Users\UserX.nuget\packages\xamarin.androidx.collection.jvm\1.3.0.2\buildTransitive\net7.0-android33.0....\jar\androidx.collection.collection-jvm.jar:androidx /коллекция/ArrayMapKt.класс, C:\Users\UserX.nuget\packages\xamarin.androidx.collection.ktx\1.2.0.9\buildTransitive\net6.0-android31.0....\jar\androidx.collection.collection-ktx.jar:androidx /коллекция/ArrayMapKt.class Ошибка компиляции java.lang.RuntimeException: com.android.tools.r8.CompilationFailedException: не удалось выполнить компиляцию полный, происхождение: C:\Users\UserX.nuget\packages\xamarin.androidx.collection.jvm\1.3.0.2\buildTransitive\net7.0-android33.0....\jar\androidx.collection.collection-jvm.jar androidx/collection/ArrayMapKt.class в com.android.tools.r8.utils.R0.a(R8_8.1.56_756d1f50f618dd1c39c000f11defb367a21e9e866e3401b884be16c0950f6f79:126) на com.android.tools.r8.D8.main(R8_8.1.56_756d1f50f618dd1c39c000f11defb367a21e9e866e3401b884be16c0950f6f79:5) Вызвано: com.android.tools.r8.CompilationFailedException: Компиляция не завершилась, источник: C:\Users\UserX.nuget\packages\xamarin.androidx.collection.jvm\1.3.0.2\buildTransitive\net7.0-android33.0....\jar\androidx.collection.collection-jvm.jar:androidx /коллекция/ArrayMapKt.class в Version.fakeStackEntry(Version_8.1.56.java:0) в com.android.tools.r8.M.a(R8_8.1.56_756d1f50f618dd1c39c000f11defb367a21e9e866e3401b884be16c0950f6f79:5) в com.android.tools.r8.utils.R0.a(R8_8.1.56_756d1f50f618dd1c39c000f11defb367a21e9e866e3401b884be16c0950f6f79:81) в com.android.tools.r8.utils.R0.a(R8_8.1.56_756d1f50f618dd1c39c000f11defb367a21e9e866e3401b884be16c0950f6f79:32) в com.android.tools.r8.utils.R0.a(R8_8.1.56_756d1f50f618dd1c39c000f11defb367a21e9e866e3401b884be16c0950f6f79:31) в com.android.tools.r8.utils.R0.b(R8_8.1.56_756d1f50f618dd1c39c000f11defb367a21e9e866e3401b884be16c0950f6f79:2) в com.android.tools.r8.D8.a(R8_8.1.56_756d1f50f618dd1c39c000f11defb367a21e9e866e3401b884be16c0950f6f79:26) в com.android.tools.r8.D8.b(R8_8.1.56_756d1f50f618dd1c39c000f11defb367a21e9e866e3401b884be16c0950f6f79:13) в com.android.tools.r8.D8.a(R8_8.1.56_756d1f50f618dd1c39c000f11defb367a21e9e866e3401b884be16c0950f6f79:24) в com.android.tools.r8.utils.R0.a(R8_8.1.56_756d1f50f618dd1c39c000f11defb367a21e9e866e3401b884be16c0950f6f79:113) ... еще 1 Причина: com.android.tools.r8.utils.b: Тип androidx.collection.ArrayMapKt определяется несколько раз: C:\Users\UserX.nuget\packages\xamarin.androidx.collection.jvm\1.3.0.2\buildTransitive\net7.0-android33.0....\jar\androidx.collection.collection-jvm.jar:androidx /коллекция/ArrayMapKt.класс, C:\Users\UserX.nuget\packages\xamarin.androidx.collection.ktx\1.2.0.9\buildTransitive\net6.0-android31.0....\jar\androidx.collection.collection-ktx.jar:androidx /коллекция/ArrayMapKt.class в com.android.tools.r8.utils.O2.a(R8_8.1.56_756d1f50f618dd1c39c000f11defb367a21e9e866e3401b884be16c0950f6f79:21) в com.android.tools.r8.utils.O2.a(R8_8.1.56_756d1f50f618dd1c39c000f11defb367a21e9e866e3401b884be16c0950f6f79:26) в com.android.tools.r8.utils.A2.a(R8_8.1.56_756d1f50f618dd1c39c000f11defb367a21e9e866e3401b884be16c0950f6f79:44) в com.android.tools.r8.utils.A2.a(R8_8.1.56_756d1f50f618dd1c39c000f11defb367a21e9e866e3401b884be16c0950f6f79:10) в java.base/java.util.concurrent.ConcurrentHashMap.merge(ConcurrentHashMap.java:2056) в com.android.tools.r8.utils.A2.a(R8_8.1.56_756d1f50f618dd1c39c000f11defb367a21e9e866e3401b884be16c0950f6f79:6) в com.android.tools.r8.graph.b4$a.e(R8_8.1.56_756d1f50f618dd1c39c000f11defb367a21e9e866e3401b884be16c0950f6f79:7) в com.android.tools.r8.dex.c.a(R8_8.1.56_756d1f50f618dd1c39c000f11defb367a21e9e866e3401b884be16c0950f6f79:58) в com.android.tools.r8.dex.c.a(R8_8.1.56_756d1f50f618dd1c39c000f11defb367a21e9e866e3401b884be16c0950f6f79:9) в com.android.tools.r8.dex.c.a(R8_8.1.56_756d1f50f618dd1c39c000f11defb367a21e9e866e3401b884be16c0950f6f79:8) в com.android.tools.r8.D8.a(R8_8.1.56_756d1f50f618dd1c39c000f11defb367a21e9e866e3401b884be16c0950f6f79:29) в com.android.tools.r8.D8.d(R8_8.1.56_756d1f50f618dd1c39c000f11defb367a21e9e866e3401b884be16c0950f6f79:17) в com.android.tools.r8.D8.c(R8_8.1.56_756d1f50f618dd1c39c000f11defb367a21e9e866e3401b884be16c0950f6f79:1) в com.android.tools.r8.utils.R0.a(R8_8.1.56_756d1f50f618dd1c39c000f11defb367a21e9e866e3401b884be16c0950f6f79:28) ... еще 6 GoogleVision 1





Судя по тому, что я прочитал, вам нужно добавить в свой проект следующий пакет NuGet:
https://www.nuget.org/packages/Xamarin.AndroidX.Collection.Jvm
Я предполагаю, что он не сопоставляет этот пакет внутренне. Эта проблема возникает во многих пакетах Androidx, поэтому я не удивлен.
В конечном итоге мне помогло добавление этих двух пакетов вручную в качестве прямых зависимостей проекта:
Xamarin.AndroidX.CoreXamarin.AndroidX.Fragment.KtxХотя у меня были проблемы с тем, чтобы заставить VS установить второй пакет, и мне пришлось добавить ссылку на проект в файл .csproj, чтобы заставить его установить его:
<ItemGroup Condition = "'$(TargetFramework)' == 'net8.0-android'">
<PackageReference Include = "Xamarin.AndroidX.Fragment.Ktx">
<Version>1.6.2.1</Version>
</PackageReference>
</ItemGroup>