【问题标题】:Xamarin: Release Mode Crashing Constantly (Android)Xamarin:发布模式不断崩溃(Android)
【发布时间】:2021-04-01 12:42:33
【问题描述】:

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

即使在部署到设备时,一切都在调试模式下完美运行,就在我尝试在发布模式下部署时。不出所料,当人们尝试安装和运行 google play 上的应用程序时,它就会崩溃。

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

请帮忙。

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\Release\100\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\Release\100\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\Release\100\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.access$1300(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 Mob 相关的问题

配置管理器设置

Android 项目设置

最后,我认为是 Nuget 包负责这一切。当我尝试将它们升级到最新版本时,我只是得到一个 Java exited with -1 错误,所以我们绕了一圈;发布模式没有任何效果。

【问题讨论】:

  • 您是否尝试过像 raygun.io 或 appcenter.ms 这样的崩溃报告工具?
  • @Jason 好吧,我收到了关于上面提到的找不到符号的构建错误;所以目前无法部署甚至崩溃。
  • 如果要使用发布模式,请查看要求。 docs.microsoft.com/en-us/xamarin/android/deploy-test/…

标签: android .net xamarin mobile


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-12
    • 2021-07-17
    • 2021-12-08
    相关资源
    最近更新 更多