Я хочу сделать вычисления DSP по нативному коду. Это хорошо работает в эмуляторе (Android 4.2.2). Но на некоторых устройствах (Android 7 и 9) библиотека, созданная NDK, позволяла приложению создавать sh непосредственно при выполнении System.loadLibrary . Но: загруженная библиотека загружается без проблем, когда я помещаю ее в свой APK.
Признаюсь, для основного приложения я использую старую Eclipse IDE в Windows, ориентированную на API 26. Мой NDK - маленький R7, работающий на Ubuntu. Но моя библиотека выполняет вычисления только для байтовых массивов в стандартном c, здесь нет доступа к Android.
Собственный код компилируется без предупреждений и ошибок и построен для armeabi и armeabi-v7a. В APK файлы libxyz.so находятся в правильных папках. Имена функций экспорта должны быть правильными. Но даже если для них нет объявлений в классе Java и не вызывается ничего нативного, cra sh напрямую возникает в static { System.loadLibrary("libxyz.so"); }
Могут ли мои двоичные файлы lib быть несовместимыми?
Спасибо за любую помощь!
Обновление: Библиотеки действительно были несовместимы, см. Комментарии ниже.