Когда я пытаюсь скомпилировать свой .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" />
Но я не вижу никакого конфликта.
У меня была такая проблема, очень похожая на эту. При привязке приложения MAUI, работающего на Android, к сервису с использованием AIDL. Итак, этот класс Android добавляется, для параметров сборки устанавливается интерфейс Android, и Xamarin пишет за меня заглушку. Но имя файла уже имеет Stub, и то, как работает этот код автогенератора... ну, короче говоря, он дублирует имя файла/класса. Поэтому я пошел по пути, чтобы удалить все, что я добавил, очистить и снова добавить в проект. Это не совсем ваш случай, я просто делюсь информацией, чтобы вы получили общее представление о том, как такие вещи происходят.
@Х.А.Х. если я создам новый проект с теми же пакетами и скомпилирую, у меня будет та же ошибка
Я видел, что пакет Xam.Plugin предназначен для Xamarin.Essential, так что, возможно, поскольку у maui уже есть API для камеры @H.A.H.
Что ж, если вы уже знаете, в чем проблема, это половина решения. Теперь найдите способ запустить пакет в MAUI или поищите замену.
Я попробую это исправить, удалю два пакета xam.plugin и поищу что-нибудь для MAUI, в котором, видимо, есть оба. Спасибо за информацию @H.A.H.




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