Я пишу код Rust для цели архитектуры armv7-linux-androideabi
.
Код написан на Dart / Flutter с одной критичной для производительности библиотекой, написанной на Rust. Я использую dart:ffi
для его вызова.
В Android Studio Он прекрасно работает в эмуляторе Android с целью i686-linux-android
.
Но когда я проверяю его на своем android телефон (с использованием цели armv7-linux-androideabi
) во время выполнения вылетает с ошибкой:
E / flutter (4722): [ОШИБКА: флаттер / lib / ui / ui_dart_state. cc (157) )] Необработанное исключение: недопустимый аргумент (ы): не удалось загрузить динамическую библиотеку (ошибка dlopen: невозможно найти символ "__gnu_Unwind_Find_exidx", на который ссылается "/data/app/com.example.androidtest-2/lib/arm/libcerberus.so" ...)
Я проверил с помощью nm libcerberus.so
и ссылка на __gnu_Unwind_Find_exidx
указана, но не определена.
Любой способ принудительного вытягивания в этой функции, который кажется заданным c Арм. ?
Стив