"java.lang.illegalargumentexception: already added lokhttp3/address" 安装时 Xamarin.GooglePlayServices。*

"java.lang.illegalargumentexception: already added lokhttp3/address" when installing Xamarin.GooglePlayServices.*

我正在构建一个 Xamarin.Android 应用程序,但每次添加任何 Xamarin.GooglePlayServices.* NuGet 包时都会遇到问题。第一次我的 .csproj 损坏了,我不得不重新开始这个项目并将所有文件包含在一个新项目中。我避开了那些库,但现在我需要它们。这次,我得到了这个错误

java.lang.illegalargumentexception: already added lokhttp3/address

我已经搜索了几天,但一直找不到答案。谁知道如何解决 Xamarin.Android 中的 java.lang.illegalargumentexception: already added 错误?

编辑:

我发现我可以通过创建一个空白 Xamarin.Android 项目并导入包 XBindings.MapboxLocationLayer.Droid 作为唯一的包来重现此错误。

删除 Naxam.SquareUp.OkHttp3,启用 Multi-Dex 将成功构建。

Naxam.SquareUp.OkHttp3Square.OkHttp3都包含okhttp,所以你需要删除一个。然后你会得到错误:java.exe exited with code 2, refer to this, you need Enable Multi-Dex.

我是这些库的主要作者和 NAXAM 的创始人,该公司是许多绑定库背后的公司:MAPBOX、BRAINTREE、STRIPE。

我已支持解决问题。

关于此问题,请卸载 NAXAM/Xbindings 包,然后仅重新安装直接引用包。 历史问题,不便之处,敬请谅解。

  • 有些人可能也对 Mapbox 导航库感兴趣,请仔细阅读我们的自述文件,因为 XAMARIN 尚未发布Android 支持包

In the mean time, packages for Android.Arch.Core.Runtime and Android.Arch.Lifetime.Extensions aren't published by Xamarin yet. Plz add a nuget source to https://www.myget.org/F/xbindings/api/v3/index.json either directly in Visual Studio Nuget Packages Source or via nuget.config file.

  • 一些包的版本以 beta 结尾,VS 无法将它们理解为依赖项,请手动添加它们。它们是测试版,因为在创建它们时,本地库是测试版。

干杯。

NAXAM 创始人 Tuyen - https://naxam.net