Ошибка при компиляции (Java0000) Android .Net MAUI

Когда я пытаюсь скомпилировать свой .Net MAUI на Android. Я получаю следующую ошибку Java, у меня есть дубликат

android.support.v4.os.IResultReceiver$Stub$Proxy

Gravedad    Código  Descripción Proyecto    Archivo Línea   Estado suprimido    Detalles
Error   JAVA0000    Error in obj\Debug\net8.0-android\lp\128\jl\classes.jar:android/support/v4/os/IResultReceiver$Stub$Proxy.class:
Type android.support.v4.os.IResultReceiver$Stub$Proxy is defined multiple times: obj\Debug\net8.0-android\lp\128\jl\classes.jar:android/support/v4/os/IResultReceiver$Stub$Proxy.class, obj\Debug\net8.0-android\lp\33\jl\bin\classes.jar:android/support/v4/os/IResultReceiver$Stub$Proxy.class
Compilation failed
java.lang.RuntimeException: com.android.tools.r8.CompilationFailedException: Compilation failed to complete, origin: obj\Debug\net8.0-android\lp\128\jl\classes.jar
android/support/v4/os/IResultReceiver$Stub$Proxy.class
    at com.android.tools.r8.utils.R0.a(R8_8.1.56_756d1f50f618dd1c39c000f11defb367a21e9e866e3401b884be16c0950f6f79:126)
    at com.android.tools.r8.D8.main(R8_8.1.56_756d1f50f618dd1c39c000f11defb367a21e9e866e3401b884be16c0950f6f79:5)
Caused by: com.android.tools.r8.CompilationFailedException: Compilation failed to complete, origin: obj\Debug\net8.0-android\lp\128\jl\classes.jar:android/support/v4/os/IResultReceiver$Stub$Proxy.class
    at Version.fakeStackEntry(Version_8.1.56.java:0)
    at com.android.tools.r8.M.a(R8_8.1.56_756d1f50f618dd1c39c000f11defb367a21e9e866e3401b884be16c0950f6f79:5)
    at com.android.tools.r8.utils.R0.a(R8_8.1.56_756d1f50f618dd1c39c000f11defb367a21e9e866e3401b884be16c0950f6f79:81)
    at com.android.tools.r8.utils.R0.a(R8_8.1.56_756d1f50f618dd1c39c000f11defb367a21e9e866e3401b884be16c0950f6f79:32)
    at com.android.tools.r8.utils.R0.a(R8_8.1.56_756d1f50f618dd1c39c000f11defb367a21e9e866e3401b884be16c0950f6f79:31)
    at com.android.tools.r8.utils.R0.b(R8_8.1.56_756d1f50f618dd1c39c000f11defb367a21e9e866e3401b884be16c0950f6f79:2)
    at com.android.tools.r8.D8.a(R8_8.1.56_756d1f50f618dd1c39c000f11defb367a21e9e866e3401b884be16c0950f6f79:26)
    at com.android.tools.r8.D8.b(R8_8.1.56_756d1f50f618dd1c39c000f11defb367a21e9e866e3401b884be16c0950f6f79:13)
    at com.android.tools.r8.D8.a(R8_8.1.56_756d1f50f618dd1c39c000f11defb367a21e9e866e3401b884be16c0950f6f79:24)
    at com.android.tools.r8.utils.R0.a(R8_8.1.56_756d1f50f618dd1c39c000f11defb367a21e9e866e3401b884be16c0950f6f79:113)
    ... 1 more
Caused by: com.android.tools.r8.utils.b: Type android.support.v4.os.IResultReceiver$Stub$Proxy is defined multiple times: obj\Debug\net8.0-android\lp\128\jl\classes.jar:android/support/v4/os/IResultReceiver$Stub$Proxy.class, obj\Debug\net8.0-android\lp\33\jl\bin\classes.jar:android/support/v4/os/IResultReceiver$Stub$Proxy.class
    at com.android.tools.r8.utils.O2.a(R8_8.1.56_756d1f50f618dd1c39c000f11defb367a21e9e866e3401b884be16c0950f6f79:21)
    at com.android.tools.r8.utils.O2.a(R8_8.1.56_756d1f50f618dd1c39c000f11defb367a21e9e866e3401b884be16c0950f6f79:26)
    at com.android.tools.r8.utils.A2.a(R8_8.1.56_756d1f50f618dd1c39c000f11defb367a21e9e866e3401b884be16c0950f6f79:44)
    at com.android.tools.r8.utils.A2.a(R8_8.1.56_756d1f50f618dd1c39c000f11defb367a21e9e866e3401b884be16c0950f6f79:10)
    at java.base/java.util.concurrent.ConcurrentHashMap.merge(ConcurrentHashMap.java:2056)
    at com.android.tools.r8.utils.A2.a(R8_8.1.56_756d1f50f618dd1c39c000f11defb367a21e9e866e3401b884be16c0950f6f79:6)
    at com.android.tools.r8.graph.b4$a.e(R8_8.1.56_756d1f50f618dd1c39c000f11defb367a21e9e866e3401b884be16c0950f6f79:7)
    at com.android.tools.r8.dex.c.a(R8_8.1.56_756d1f50f618dd1c39c000f11defb367a21e9e866e3401b884be16c0950f6f79:58)
    at com.android.tools.r8.dex.c.a(R8_8.1.56_756d1f50f618dd1c39c000f11defb367a21e9e866e3401b884be16c0950f6f79:9)
    at com.android.tools.r8.dex.c.a(R8_8.1.56_756d1f50f618dd1c39c000f11defb367a21e9e866e3401b884be16c0950f6f79:8)
    at com.android.tools.r8.D8.a(R8_8.1.56_756d1f50f618dd1c39c000f11defb367a21e9e866e3401b884be16c0950f6f79:29)
    at com.android.tools.r8.D8.d(R8_8.1.56_756d1f50f618dd1c39c000f11defb367a21e9e866e3401b884be16c0950f6f79:17)
    at com.android.tools.r8.D8.c(R8_8.1.56_756d1f50f618dd1c39c000f11defb367a21e9e866e3401b884be16c0950f6f79:1)
    at com.android.tools.r8.utils.R0.a(R8_8.1.56_756d1f50f618dd1c39c000f11defb367a21e9e866e3401b884be16c0950f6f79:28)
    ... 6 more
Directory 'obj\Debug\net8.0-android\lp\128' is from 'androidx.core.core.aar'.

Я несколько раз пытался удалить папки obj и bin, перекомпилировать, но ничего.

Я подумал, что это может быть что-то из пакетов:

<PackageReference Include = "CommunityToolkit.Mvvm" Version = "8.2.2" />
<PackageReference Include = "Microsoft.Maui.Controls" Version = "$(MauiVersion)" />
<PackageReference Include = "Microsoft.Maui.Controls.Compatibility" Version = "$(MauiVersion)" />
<PackageReference Include = "Microsoft.Extensions.Logging.Debug" Version = "8.0.0" />
<PackageReference Include = "sqlite-net-pcl" Version = "1.9.172" />
<PackageReference Include = "SQLitePCLRaw.bundle_green" Version = "2.1.8" />
<PackageReference Include = "System.ServiceModel.Duplex" Version = "6.0.*" />
<PackageReference Include = "System.ServiceModel.Federation" Version = "6.0.*" />
<PackageReference Include = "System.ServiceModel.Http" Version = "6.0.*" />
<PackageReference Include = "System.ServiceModel.NetNamedPipe" Version = "6.0.*" />
<PackageReference Include = "System.ServiceModel.NetTcp" Version = "6.0.*" />
<PackageReference Include = "System.ServiceModel.Security" Version = "6.0.*" />
<PackageReference Include = "Telerik.UI.for.Maui" Version = "6.7.0" />
<PackageReference Include = "Xam.Plugin.Geolocator" Version = "4.5.0.6" />
<PackageReference Include = "Xam.Plugin.Media" Version = "6.0.2" />
<PackageReference Include = "ZXing.Net.Maui" Version = "0.4.0" />
<PackageReference Include = "ZXing.Net.Maui.Controls" Version = "0.4.0" />

Но я не вижу никакого конфликта.

Новый проект -> Управление пакетами -> Добавить следующий пакет из списка -> Сборка. Если вам удастся добавить все, вы поймете, что дело не в пакетах.

H.A.H. 19.04.2024 11:46

У меня была такая проблема, очень похожая на эту. При привязке приложения MAUI, работающего на Android, к сервису с использованием AIDL. Итак, этот класс Android добавляется, для параметров сборки устанавливается интерфейс Android, и Xamarin пишет за меня заглушку. Но имя файла уже имеет Stub, и то, как работает этот код автогенератора... ну, короче говоря, он дублирует имя файла/класса. Поэтому я пошел по пути, чтобы удалить все, что я добавил, очистить и снова добавить в проект. Это не совсем ваш случай, я просто делюсь информацией, чтобы вы получили общее представление о том, как такие вещи происходят.

H.A.H. 19.04.2024 11:57

@Х.А.Х. если я создам новый проект с теми же пакетами и скомпилирую, у меня будет та же ошибка

Giorgio 19.04.2024 12:37

Я видел, что пакет Xam.Plugin предназначен для Xamarin.Essential, так что, возможно, поскольку у maui уже есть API для камеры @H.A.H.

Giorgio 19.04.2024 12:41

Что ж, если вы уже знаете, в чем проблема, это половина решения. Теперь найдите способ запустить пакет в MAUI или поищите замену.

H.A.H. 19.04.2024 12:56

Я попробую это исправить, удалю два пакета xam.plugin и поищу что-нибудь для MAUI, в котором, видимо, есть оба. Спасибо за информацию @H.A.H.

Giorgio 19.04.2024 13:17
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
2
6
412
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Проблема заключалась в том, что несколько пакетов NuGet конфликтовали, поэтому я удалил те пакеты xamarin, которые меня беспокоили, и использовал инструменты maui.

Другие вопросы по теме