Xamarin:发布模式不断崩溃 (Android)

Xamarin: Release Mode Crashing Constantly (Android)

我有一个 Xamarin 应用程序,当我尝试将其更改为发布模式时,我或多或少一直在调试模式下进行开发和测试;每次我尝试将应用程序部署到模拟器或物理 android 设备时,应用程序都会在初始屏幕上崩溃。

即使在部署到设备时,在调试模式下一切正常,就像我尝试在发布模式下部署一样。毫不奇怪,当人们尝试安装 运行 时 google play 上的应用程序会崩溃。

我已将 INTERNET 权限添加到 Android 清单,因为我认为这也是一个常见原因,以及所有其他必要的权限。但是发布模式有什么不同以至于它会崩溃。

请帮忙。

Error       error: cannot find symbol
        com.google.android.gms.ads.OnPaidEventListener
  symbol:   class OnPaidEventListener
  location: package com.google.android.gms.ads  FlowDynamics.Mobile.Core.Android    C:\Source\FlowDynamicsMobile\FlowDynamics.Mobile.Core.Android\obj\Release0\android\src\mono\com\google\android\gms\ads\OnPaidEventListenerImplementor.java   8   

Error       error: cannot find symbol
    public void onPaidEvent (com.google.android.gms.ads.AdValue p0)
  symbol:   class AdValue
  location: package com.google.android.gms.ads  FlowDynamics.Mobile.Core.Android    C:\Source\FlowDynamicsMobile\FlowDynamics.Mobile.Core.Android\obj\Release0\android\src\mono\com\google\android\gms\ads\OnPaidEventListenerImplementor.java   28  

Error       error: cannot find symbol
    private native void n_onPaidEvent (com.google.android.gms.ads.AdValue p0);
  symbol:   class AdValue
  location: package com.google.android.gms.ads  FlowDynamics.Mobile.Core.Android    C:\Source\FlowDynamicsMobile\FlowDynamics.Mobile.Core.Android\obj\Release0\android\src\mono\com\google\android\gms\ads\OnPaidEventListenerImplementor.java   33  



I've also managed to get this error from the device log when trying to deploy to a physical device:


03-31 23:41:18.578  Google Pixel XL Error   11565   **AndroidRuntime    java.lang.RuntimeException: Unable to get provider com.google.android.gms.ads.MobileAdsInitProvider: java.lang.ClassNotFoundException: Didn't find class "com.google.android.gms.ads.MobileAdsInitProvider"** on path: DexPathList[[zip file "/data/app/com.upsilondynamics.flowassist-hHH-Zhx6-8g-jnQjoHz5Zw==/base.apk"],nativeLibraryDirectories=[/data/app/com.upsilondynamics.flowassist-hHH-Zhx6-8g-jnQjoHz5Zw==/lib/arm64, /data/app/com.upsilondynamics.flowassist-hHH-Zhx6-8g-jnQjoHz5Zw==/base.apk!/lib/arm64-v8a, /system/lib64, /vendor/lib64, /system/product/lib64]]
    at android.app.ActivityThread.installProvider(ActivityThread.java:6988)
    at android.app.ActivityThread.installContentProviders(ActivityThread.java:6528)
    at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6445)
    at android.app.ActivityThread.access00(ActivityThread.java:219)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1859)
    at android.os.Handler.dispatchMessage(Handler.java:107)
    at android.os.Looper.loop(Looper.java:214)
    at android.app.ActivityThread.main(ActivityThread.java:7356)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)

我相信有很多问题与 Google Ad Mobs

有关

配置管理器设置

Android 项目设置

最后,我认为 Nuget 包是造成这一切的原因。当我尝试将它们升级到最新版本时,我只是得到一个 Java 退出并出现 -1 错误,所以我们继续前进;没有任何东西在发布模式下工作。

所以我设法解决了这个问题,确保在构建设置中禁用优化代码:

此外,请确保关闭 Multi-Dex: