Как вы знаете (я уверен), NoSuchMethodError
вызвано несоответствием версий классов во время компиляции и во время выполнения.
И я согласен с вами, что три метода, вызываемые эта строка кода должна присутствовать во время выполнения.
Я подозревал, что для NoSuchMethodError
нет строки сообщения о том, какой метод отсутствовал, но есть и другие примеры для платформы Android, где отсутствует сообщение. Поэтому я (предположительно) называю это несущественным.
Итак, нам нужно искать другие объяснения. Вот некоторые из них:
Номер строки в трассировке стека может быть неточным. Люди иногда сообщают о таких вещах; например, Crashlytics сообщает о неправильных номерах строк
Этот конкретный пользователь может использовать другую (более старую?) версию вашего приложения, где код в этой строке отличается от код, который вы просматриваете.
Пользователь «рутировал» свое устройство и портил его стандартные библиотеки. Кроме того, пользовательское устройство было взломано, и хакер вмешался в стандартные библиотеки (в данном случае довольно грубо).
Пользователь связался с байт-кодами для вашего приложения и имеет случайно получил его, пытаясь вызвать несуществующий метод. Кроме того, пользователь запускает (грубо) троянскую версию вашего приложения, в которой злоумышленник сделал то же самое.
Тот факт, что ваше приложение использует биткойны, означает, что они могут быть сильными стимул для кого-то совершать гнусные поступки ... поэтому не следует сбрасывать со счетов последние две альтернативы.
Преобразование в Kotlin может иметь проблемы по-прежнему?
Я не понимаю, почему это повлияет только на одного пользователя.
Тот факт, что пользователь попробовал 180 раз, вызывает у меня беспокойство. Это кошелек Bitcoin, так что ... у них могут быть деньги в этом кошельке, и я не хочу не разрешать проблемы, если смогу.
(Или наоборот, это может быть плохой парень, пытающийся вывести биткойны из кошелька через украденное устройство. Тот факт, что пользователь настолько настойчивый ... и не связался с вами за помощью ... сам по себе подозрительно.)
Но дело в том, что если у вас нет возможности связаться с этим пользователем, то исправление проблемы в целом вряд ли поможет им напрямую. И сейчас у вас недостаточно информации, чтобы понять, в чем проблема на самом деле.