Ошибка несоответствия типа локальной переменной, в Xamarin.Android - PullRequest
0 голосов
/ 11 октября 2019

Я пытаюсь создать решение в Xamarin с импортированной библиотекой Android.

Библиотека поставляется производителем bbpos.

У меня следующее сообщение об ошибке:

Error com.android.dx.cf.code.SimException: local variable type mismatch: attempt to set or access a value of type java.lang.String using a local variable of type byte[]. This is symptomatic of .class transformation tools that ignore local variable information.

Я думаю, что это из библиотеки, но я не знаю, откуда именно. Есть ли способ узнать, в чем проблема?

Ответы [ 2 ]

0 голосов
/ 17 октября 2019

В случае, если это поможет кому-то еще, я наконец-то нашел решение.

Оказывается, проблема была в компиляторе.

Я перешел к свойствам Xamarin.Android, затем пошел квкладка "Настройки Android". В поле Dex compiler я выбрал d8.

0 голосов
/ 11 октября 2019

Вполне вероятно, что библиотека, которую вы получили, построена неправильно. Если вы удалите библиотеку и сборка пройдет нормально, проблема определенно есть. Дело в том, что я не видел эту проблему в течение многих лет, и сейчас удивительно видеть.

Просто чтобы быть уверенным, вы говорите о библиотеке фляг, а не о dll? (Вероятная) основная причина проблемы хорошо объяснена в других статьях здесь и здесь . Чтобы решить вашу проблему, вам нужно попробовать две вещи:

  1. Создайте приложение с включенной ProGuard.
  2. Если это не сработает, запустите саму библиотеку через ProGuard, как предлагается в одном из сообщений, на которые я ссылаюсь.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...