Xamarin 表单,Android - Java.Lang.ClassNotFoundException

Xamarin Forms, Android - Java.Lang.ClassNotFoundException

我目前正在更新 Xamarin Forms 应用程序,突然在 Android 上遇到此错误:

Exception   {Java.Lang.ClassNotFoundException: Didn't find class "com.google.android.gms.common.GooglePlayServicesUtil" on path: DexPathList[[zip file "/data/app/com.alphacoreconsulting.tflmetrosound-Ek3U1cNyzLe9Jayp9enzXQ==/base.apk"],nativeLibraryDirectories=[/data/app/c…} Java.Lang.ClassNotFoundException

它在这一行触发:

Xamarin.FormsMaps.Init(this, bundle);

我已经研究并确保所有包都是相同的版本:

请问有人可以提供一些帮助吗?

更新:

我已经更新了 proguard.cfg 文件并添加了这一行:

-keep public class com.google.android.gms.common.GooglePlayServicesUtil

添加后我现在遇到这个错误:

no static method "Lcom/google/android/gms/common/GooglePlayServicesUtil;.isGooglePlayServicesAvailable(Landroid/content/Context;)I"

当代码通常被链接器或 R8/Proguard 从可执行文件中剥离时,您将在运行时看到此异常。您可以为这两种工具提供一个配置文件,使您可以将代码保留在链接器中或 R8/Proguard 认为您没有使用。例如,这些工具无法通过反射正确检测您在运行时使用的代码。

这里是链接器配置文件的documentation。另一种方法是使用“LinkerPleaseInclude.cs”文件手动引用您不想链接出去的代码。

这是 R8/Proguard 配置文件的 documentation