我有一个严重的错误,我似乎无法正确修复或调试。对于我们所有客户来说,该应用程序在 Android 12 或更高版本的启动屏幕上不断崩溃,而它对我个人来说适用,低于 Android 12(使用模拟器和我自己的手机)和高于 12(使用模拟器)。遗憾的是,Google Play 商店仅允许使用 SDK 版本 12 或更高版本的应用程序包,这会导致此崩溃。
用户很快就能看到启动画面,然后立即崩溃。它在MainActivity的onCreate方法上,但我尝试了很多方法,似乎找不到它。
如果有人知道在本地重现此问题的方法,了解有关此崩溃的任何信息,或者可以为我指出正确的方向,那么那就太棒了!
我已经按照有关如何制作新的 Android 13 启动画面的教程进行操作,但应用程序仍然以同样的方式崩溃。
Google Play 管理中心崩溃报告:
Exception android.runtime.JavaProxyThrowable:
at crc647e6e9d558d510f83.MainActivity.n_onCreate (MainActivity.java)
at crc647e6e9d558d510f83.MainActivity.onCreate (MainActivity.java:40)
at android.app.Activity.performCreate (Activity.java:8591)
at android.app.Activity.performCreate (Activity.java:8570)
at android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1384)
at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:4150)
at android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:4325)
at android.app.servertransaction.LaunchActivityItem.execute (LaunchActivityItem.java:101)
at android.app.servertransaction.TransactionExecutor.executeCallbacks (TransactionExecutor.java:135)
at android.app.servertransaction.TransactionExecutor.execute (TransactionExecutor.java:95)
at android.app.ActivityThread$H.handleMessage (ActivityThread.java:2574)
at android.os.Handler.dispatchMessage (Handler.java:106)
at android.os.Looper.loopOnce (Looper.java:226)
at android.os.Looper.loop (Looper.java:313)
at android.app.ActivityThread.main (ActivityThread.java:8757)
at java.lang.reflect.Method.invoke
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:571)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1067)
(据我所知,这是一个常见错误,因为应用程序在发送正确错误之前崩溃,并且我不知道如何更改代码以显示正确错误)
此外,当添加或删除代码时,它仍然会在第 40 行抛出错误。所以我看不到哪个部分抛出错误。
这就是 MainActivity 当前的样子:
public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity
{
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
Xamarin.Essentials.Platform.Init(this, savedInstanceState);
global::Xamarin.Forms.Forms.Init(this, savedInstanceState);
LoadApplication(new App());
}
public override void OnRequestPermissionsResult(int requestCode, string[] permissions, [GeneratedEnum] Android.Content.PM.Permission[] grantResults)
{
Xamarin.Essentials.Platform.OnRequestPermissionsResult(requestCode, permissions, grantResults);
base.OnRequestPermissionsResult(requestCode, permissions, grantResults);
}
}
这是我制作的一个新测试项目,仍然使应用程序崩溃。这是由 Visual Studio 中的 Xamarin 框架生成的代码。
我尝试过的事情:
这是我正在使用的软件:
更新:显然,当用户已经拥有上一个应用程序的 cookie 时,代码中会加载某些内容。因为我们采用了旧版本并使用 Android 13 构建了该版本,并且该版本可以正常工作。非常令人失望的是,这些错误没有在 Playstore 开发人员环境中清楚地显示。这让我很困惑,这可能是与闪屏相关的错误。我将看一下 crashlytics,以获得更好的错误日志。谢谢你的建议。
你找到那是什么了吗?我们有同样的错误,并且在主要活动 oncreate 期间发生了崩溃。最初,应用程序在启动屏幕上崩溃,但通过 oncreate 中的 try catch,启动屏幕不断显示,而没有进入主页。
您提出了有关可能导致该问题的 cookie 的建议?