У меня есть трудное время, чтобы загрузить и использовать скомпилированную .so библиотеку в приложении firemonkey. Мне удалось настроить проект таким образом, что он компилируется, а библиотека поставляется в apk, но не может загрузить его при запуске приложения. Является ли system.LoadLibrary() достаточно или мне нужна оболочка java для lib?Как использовать стороннюю библиотеку на Android?
Редактировать: мой код выглядит так как сейчас, но не может пройти стадию загрузки библиотеки. TPath.GetLibraryPath возвращает правильный путь к где библиотека находится (я проверил с ADB тянуть)
{$IFDEF MSWINDOWS}
LIBNAME = 'sunvox.dll';
{$ENDIF}
{$IFDEF ANDROID}
LIBNAME = 'libsunvox.so';
{$ENDIF}
function sv_load_dll:integer;
var libPath:system.string;
begin
g_sv_dll:= 0 ;
libPath:=TPath.Combine(tpath.GetLibraryPath,libname);
{$IFDEF ANDROID}
g_sv_dll:=dlopen(MarshaledAString(libPath), RTLD_LAZY);
{$ENDIF}
{$IFDEF MSWINDOWS}
g_sv_dll := LoadLibrary(MarshaledString(libPath));
{$ENDIF}
result:=g_sv_dll;
if(g_sv_dll = 0)then exit;
sv_audio_callback:=tsv_audio_callback(import('sv_audio_callback'));
...
end;
Может быть, вы могли бы показать урезанную версию того, что вы в настоящее время –