Xamarin android application cra sh с условием `xref_count == xref_index 'не выполнено - PullRequest
1 голос
/ 29 мая 2020

Непрерывная навигация по некоторым страницам моего приложения вызывает ошибку sh внезапно с этим сообщением:

[] * Assertion at /Users/builder/jenkins/workspace/archive-mono/2019-08/android/release/mono/metadata/sgen-tarjan-bridge.c:1140, condition `xref_count == xref_index' not met, function:processing_build_callback_data, xref_count is 50 but we added 48 xrefs

[libc] Fatal signal 6 (SIGABRT), code -6 in tid 31405 (com.MyApp.Beta)

Вот как я получаю sh страниц:

await ((MasterDetailPage)Application.Current.MainPage).Detail.Navigation.PushAsync(new Page());

Я прочитал несколько тем о связанных проблемах и попытался добавить этот аргумент в android компилятор:

MONO_GC_PARAMS=bridge-implementation=old,nursery-size=128‌​m,soft-heap-limit=512m

Также попытался заменить «старый» на «новый», но безуспешно. Продолжает рушиться.

Это происходит только при навигации на 10 ... 15 страниц, если вы переходите на несколько страниц, все работает нормально.

Что мне делать, чтобы этого избежать?

1 Ответ

2 голосов
/ 29 мая 2020

Мне нужно было создать текстовый файл с именем enviroment.txt с теми же аргументами, которые упоминались в вопросе:

MONO_GC_PARAMS=bridge-implementation=old,nursery-size=128‌​m,soft-heap-limit=512m

Вы можете поместить его в папку «Свойства», как и в AndroidManifest. xml и установите его действие сборки на AndroidEnviroment, теперь он должен работать.

...