Подтвердить что ты не робот

Android-система WebView нарушает приложения Android! "Могилы отключены на JB MR2 + пользовательских сборках"

EDIT. Оказывается, это был не Chrome, а Android System WebView. Несколько других пользователей в Google Play Store оставили ответы, например, "Сбой приложений" без каких-либо ошибок.

Оригинальное сообщение:

Обновлено мое приложение (Android 5.0.2), и когда я пытаюсь создать приложение Android Xamarin в режиме DEBUG, я получаю сообщение об ошибке:

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

[google-breakpad] Отпечаток Chrome build:

[google-breakpad] 1.0

[google-breakpad] 1

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

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

[google-breakpad] Могилы отключены в пользовательских сборках JB MR2 +.

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

В консоли я могу найти сообщение об ошибке:

E/SysUtils: ApplicationContext имеет значение null в ApplicationStatus

Который, кажется, является частью хрома.

Ошибка отображается в консоли, и приложение возвращается назад (но не уничтожается), когда возвращается веб-просмотр. Веб-просмотр выдается в другой форме.

Я не делал никаких изменений со вчерашнего дня, когда все сработало.

После создания (и сбоя) запуска приложения из функций устройства исключение.

Моя целевая версия сборки - API 21, а минимум API - 14 (но она также не работает в 19).

4b9b3361

Ответ 1

Оказывается, это был не Chrome, а Android System WebView, из-за которого приложение вышло из строя. Несколько других пользователей в Google Play Store оставили ответы, например, "Сбой приложений" без каких-либо ошибок.

ИЗМЕНИТЬ:

Джонатан Прайор на Xamarin Bugzilla отправил этот комментарий:

Как упоминалось в комментарии № 2 и комментария № 3, проблема в том, что Google Play Служба WebView и связанные с ней типы сбивают существующие обработчики SIGSEGV, который закручивает вещи для всего собственного кода, который опирается на обработчики сигналов (например, Гудини).

В качестве обходного пути можно удалить необходимость в обработчике SIGSEGV для Вывод NullReferenceException, путем установки переменной MONO_DEBUG значение "явные-null-проверки":

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

Это можно сделать, добавив файл в ваш проект приложения с помощью действия Build AndroidEnvironment:

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

Затем добавив в файл следующую строку:

MONO_DEBUG=explicit-null-checks

Ответ 3

Вы можете удалить обновления WebView, чтобы вы могли работать над своим проектом, пока это исправлено.

Мы выяснили, что в нашем случае он разбился, когда было исключено исключение. Если мы использовали исключение Java.Lang.Exception вместо С# Exceptions, оно перестало сбой.

Ответ 4

Я нашел исправление для Unity. Он был проверен и протестирован.

1) Установите этот script в разделе "YOUR_UNITY_PROJECT/Assets/Editor" ( "Credits to Prime31" для этого удивительного script):

https://github.com/prime31/P31UnityAddOns/blob/master/Editor/GlobalDefinesWizard.cs

2) Как упоминалось в @fhl, вам нужно добавить MONO_DEBUG = явные-null-проверки в глобальные определения, вы можете сделать это, щелкнув недавно добавленный тег глобальных определений и убедитесь, что он выглядит так: введите описание изображения здесь

3) Теперь создайте новую сборку, и она должна исправить ваш сбой.