Android 13 的 Xamarin Forms 错误:“Java.Lang.NoClassDefFoundError”解决失败:Landroidx/concurrent/futures/AbstractResolvableFuture

问题描述 投票:0回答:1

这可能会节省一些人的时间。

将 Xamarin Forms 更新到最新版本(5.0.)并将 Android 项目更新到新的目标版本 13 后(很多错误可能会消失,只是因为您最新版本需要 Android 13,而不是 12 不是 11(但它是写得不好) 由于迁移到 AndroidX,我遇到了很多问题。使用Visualstudio 2022的自动迁移,无法解决问题。尝试构建调试版本时,我仍然遇到 Landroidx-Error:

“Java.Lang.NoClassDefFoundError”解析失败:Landroidx/concurrent/futures/AbstractResolvableFuture”

经过一番研究,我更新了 nuget 中所有相关的 AndroidX-Legacy-Packages。但我错过了一个特定的包:Xamarin.Google.Guava.ListenableFuture。它的版本是9999.0。但实际版本应该是 1.0.0.14 + 由于排序,nuget 无法自动找到它(9999.0 高于 1.0.0.14+)

更新(nuget 降级)后,除了软件包被降级的警告之外,我没有任何问题:

Warnung    NU1605  Ein Downgrade des Pakets "Xamarin.Google.Guava.ListenableFuture" von 9999.0.0 auf 1.0.0.14 wurde festgestellt. Verweisen Sie direkt aus dem Projekt auf das Paket, um eine andere Version auszuwählen.  SHAPP.Android -> Xamarin.Google.Guava 31.1.0.8 -> Xamarin.Google.Guava.ListenableFuture (>= 9999.0.0)  SHAPP.Android -> Xamarin.Google.Guava.ListenableFuture (>= 1.0.0.14)           1    

可能对某人有帮助。

只是通知是否有人可能有同样的问题并且不想搜索多年

xamarin.forms guava androidx
1个回答
0
投票

您可以尝试从应用程序中卸载 nuget

Xamarin.Google.Guava.ListenableFuture
,然后再次重新安装此 nuget。

步骤是:

右键单击您的解决方案 --> 管理解决方案的 NuGet 包 --> 更改为

Installed
选项卡,卸载 nuget
Xamarin.Google.Guava.ListenableFuture
--> 搜索 nuget
Xamarin.Google.Guava.ListenableFuture
并将此 nuget 重新安装到解决方案的
Android
项目中.

有关更多信息,请查看文档:使用 NuGet 包管理器在 Visual Studio 中安装和管理包

© www.soinside.com 2019 - 2024. All rights reserved.