Android系统WebView崩溃Android应用程序!"JB MR2 +用户构建禁用了墓碑"

Fhl*_*Fhl 13 android google-chrome chromium xamarin

编辑:事实证明它不是Chrome但是Android System WebView.Google Play商店中的其他几位用户都发布了Crashes应用等响应,没有任何错误.

原帖:

今晚我的Chrome应用 更新了(Android 5.0.2),当我尝试在DEBUG模式下构建我的Xamarin Android应用时,我收到错误消息:

[google-breakpad] ### ### ### ### ### ### ### ### ### ### ### ### ###

[google-breakpad] Chrome构建指纹:

[google-breakpad] 1.0

[google-breakpad] 1

[google-breakpad] 5c230f07-455f-4c1f-91eb-9c44019cd813

[google-breakpad] ### ### ### ### ### ### ### ### ### ### ### ### ###

[google-breakpad] JB MR2 +用户构建禁用了Tombstones.

[google-breakpad] ### ### ### ### ### ### ### ### ### ### ### ### ###

在控制台中,我可以找到错误消息:

E/SysUtils:ApplicationStat中的ApplicationContext为null

这似乎是铬的一部分.

错误显示在控制台中,当webview返回时,应用程序返回(但不会被销毁).webview在另一个框架中发布.

自从昨天一切正常以来,我没有做任何改变.

构建(并崩溃)从设备运行应用程序功能为例外.

我的目标构建版本是API 21,API最小值是14(但它在19时也失败).

Fhl*_*Fhl 3

事实证明,导致应用程序崩溃的不是 Chrome,而是Android System WebView 。Google Play 商店上的其他几位用户也留下了诸如“应用程序崩溃”之类的回复,没有任何错误

编辑:

Jonathan Pryor 在 Xamarin Bugzilla 上发表了此评论

正如评论 #2 和评论 #3 中提到的,问题在于 Google Play Service WebView 和相关类型正在破坏现有的 SIGSEGV 处理程序,这会搞砸所有依赖信号处理程序(例如 Houdini)的本机代码。

作为解决方法,可以通过将 MONO_DEBUG 变量设置为包含值“explicit-null-checks”来消除对引发 NullReferenceException 的 SIGSEGV 处理程序的需要:

http://docs.go-mono.com/?link=man%3amono(1)

这可以通过使用 AndroidEnvironment 的 Build 操作将文件添加到您的 App 项目来完成:

http://developer.xamarin.com/guides/android/advanced_topics/environment/

然后将以下行添加到文件中:

MONO_DEBUG=explicit-null-checks
Run Code Online (Sandbox Code Playgroud)