应用程序在显示任何内容之前停止

时间:2019-03-26 18:15:57

标签: android xamarin.forms xamarin.android google-console-developer

我遇到了一些问题,目前只有一个。

大约2个月前,我将应用程序部署到Google Play上,昨天我收到一封电子邮件,提示该应用程序无法在设备中打开,并且在打开之前就中断了,并在屏幕上显示“不幸的是(?)已停止”。它可以在其他设备上正常运行,但不能在“ J3(2016)Android版本5.11的用户”中运行。

我打开了Google Play控制台,然后在ANR的菜单中寻找答案。我发现了:

**java.lang.NoSuchMethodError:**
at md5846bd09d5a4e74db0c2de01aa9d1e1cf.MainActivity.n_onCreate (Native Method)
at md5846bd09d5a4e74db0c2de01aa9d1e1cf.MainActivity.onCreate (MainActivity.java:30)
at android.app.Activity.performCreate (Activity.java:6609)
at android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1134)
at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:3113)
at android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:3275)
at android.app.ActivityThread.access$1000 (ActivityThread.java:218)
at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1744)
at android.os.Handler.dispatchMessage (Handler.java:102)
at android.os.Looper.loop (Looper.java:145)
at android.app.ActivityThread.main (ActivityThread.java:7007)
at java.lang.reflect.Method.invoke (Native Method)
at java.lang.reflect.Method.invoke (Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:1404)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1199)

我将尝试通过android模拟器重现此错误。 有人以前见过这个吗,知道如何解决并可以帮助我吗?

谢谢你们。

2 个答案:

答案 0 :(得分:0)

似乎您正在用Android 5不支持的应用程序本机代码执行操作。从注释中可以看到,您可以在模拟器中重现此内容。因此,找出中断之处的下一步就是查看您的本机代码,甚至在模拟器中使用本机代码调试来找出失败的原因。

此处native code debugging in Androud Studio上有一些文档。

答案 1 :(得分:0)

我发现错误发生在哪里,感谢上帝!经过漫长的代码分析一天,我发现了我的错误,它与权限请求有关,并且这样工作:

-从Android 6.0到更高版本,应用程序需要征求许可才能使用设备上的某些功能(我做了此结构)。但是发生的事情是,低于6.0,不需要请求许可,然后我发生了冲突。

因此,我做了一个条件结构来验证设备的Android版本,并根据其版本来请求或不请求权限。