我创建了一个新的 MAUI .NET 8 项目并迁移了 Xamarin forms 项目代码。当我尝试在 Android 设备上使用 Visual Studio Windows 运行该项目时,抛出了下面的异常,
1>MSBUILD:java.exe 错误 JAVA0000:C:\Users\jeeva.nuget\packages\xamarin.androidx.collection.jvm .4.0.4 uildTransitive 中出现错误 et8.0-android34.0....\jar ndroidx.collection.collection-jvm.jar:androidx/collection/ArrayMapKt.class: 1>MSBUILD: java.exe 错误 JAVA0000: 类型 androidx.collection.ArrayMapKt 已定义多次:C:\Users\jeeva.nuget\packages\xamarin.androidx.collection.jvm .4.0.4 uildTransitive et8.0-android34.0....\jar ndroidx.collection.collection-jvm.jar:androidx/collection/ArrayMapKt.class,C:\Users\jeeva.nuget\packages\xamarin.androidx.collection.ktx .2.0.9 uild传递 et6.0-android31.0....\jar ndroidx.collection.collection-ktx.jar:androidx/collection/ArrayMapKt.class 1>MSBUILD:java.exe 错误 JAVA0000:编译失败 1>MSBUILD:java.exe错误JAVA0000:java.lang.RuntimeException:com.android.tools.r8.CompilationFailedException:编译未能完成,来源:C:\ Users \ jeeva.nuget \ packages \ xamarin.androidx.collection.jvm .4.0.4传递性 et8.0-android34.0....\jar ndroidx.collection.collection-jvm.jar 1>MSBUILD:java.exe 错误 JAVA0000:androidx/collection/ArrayMapKt.class 1>MSBUILD:java.exe 错误 JAVA0000:在com.android.tools.r8.utils.S0.a(R8_8.2.33_429c93fd24a535127db6f4e2628eb18f2f978e02f99f55740728d6b22bef16dd:135)1> MSBUILD:java.exe错误JAVA0000:在com.android.tool s.r8.D8.main(R8_8.2.33_429c93fd24a535127db6f4e2628eb18f2f978e02f99f55740728d6b22bef16dd: 5) 1>MSBUILD: java.exe 错误 JAVA0000: 原因为: com.android.tools.r8.CompilationFailedException: 编译未能完成,来源: C:\Users\jeeva.nuget\packages\xamarin.androidx.collection.jvm .4.0.4 uild传递 et8.0-android34.0....\jar ndroidx.collection.collection-jvm.jar:androidx/collection/ArrayMapKt.class 1>MSBUILD: java.exe 错误 JAVA0000: 在 Version.fakeStackEntry(Version_8.2.33. java:0) 1>MSBUILD : java.exe 错误 JAVA0000: 在 com.android.tools.r8.T.a(R8_8.2.33_429c93fd24a535127db6f4e2628eb18f2f978e02f99f55740728d6b22bef16dd:5) 1>MSBUILD : java.exe 错误 JAVA0000: 在 com.android.tools.r8 .utils.S0.a(R8_8.2.33_429c93fd24a535127db6f4e2628eb18f2f978e02f99f55740728d6b22bef16dd:82)1> MSBUILD:java.exe错误JAVA0000:位于com.android.tools.r8.utils.S0。 a(R8_8.2.33_429c93fd24a535127db6f4e2628eb18f2f978e02f99f55740728d6b22bef16dd:32)1>MSBUILD: java.exe 错误 JAVA0000: 在 com.android.tools.r8.utils.S0.a(R8_8.2.33_429c93fd24a535127db6f4e2628eb18f2f978e02f99f55740728d6b22bef16dd:31) 1>MSBUILD: java.exe 错误000:位于 com.android.tools.r8.utils.S0 .b(R8_8.2.33_429c93fd24a535127db6f4e2628eb18f2f978e02f99f55740728d6b22bef16dd:2)1> MSBUILD:java.exe错误JAVA0000:位于com.android.tools.r8.D8.a(R8_8.2.3) 3_429c93fd24a535127db6f4e2628eb18f2f978e02f99f55740728d6b22bef16dd:42) 1>MSBUILD: java.exe 错误 JAVA0000:在 com.android.tools.r8.D8.b(R8_8.2.33_429c93fd24a535127db6f4e2628eb18f2f978e02f99f55740728d6b22bef16dd:13) 1>MSBUILD:java.exe 错误 JAVA0000:在 com.android.tools.r8 .D8.a(R8_8.2.33_429c93fd24a535127db6f4e2628eb18f2f978e02f99f55740728d6b22bef16dd:40) 1>MSBUILD:java.exe错误JAVA0000:位于com.android.tools.r8.utils.S0.a(R8_8.2.33_429c93fd24a535127db6f4e2628eb18f2f978e02f99f55740728d6b22bef16dd:122)1>MSBUILD : java.exe 错误 JAVA0000: ... 1 个以上
我的项目中有应用内订阅,并且我在迁移的 MAUI 项目中使用了 Xamarin.Android.Google.BillingClient 包。
这个包会导致这个异常吗?有什么办法可以解决这个问题吗?
Xamarin
将
Xamarin.AndroidX.Fragment.Ktx
包引用直接添加到您的项目中。最好是最新的可用版本。这可能会解决它。
https://github.com/dotnet/maui/issues/18665#issuecomment-1806895333