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:
我有一个 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: