微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决Xamarin:发布模式不断崩溃 (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\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 Mobs 相关的问题

配置管理器设置

How to influence search path of System.loadLibrary() through Java code?

Android 项目设置

Configuration Settings

enter image description here

enter image description here

enter image description here

最后,我认为 Nuget 包对这一切负有责任。当我尝试将它们升级到最新版本时,我得到了一个 Java exited with -1 错误,所以我们不断地进行;发布模式不起作用。

enter image description here

解决方法

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

Build Settings

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

Android Options

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。