Невозможно загрузить библиотеки sqlite в Android с Delphi 10.4 - PullRequest
3 голосов
/ 29 мая 2020

С Delphi 10.4 я получаю ошибку в моем Android приложении (такая же ошибка как для 32-битной, так и для 64-битной версии).

[FireDAC] [Phys] [SQLite] -314. Не удалось загрузить библиотеку поставщика [libsqlite.so или libdb_ sql .so]. Подсказка: убедитесь, что он находится в каталогах PATH или EXE приложения и имеет разрядность x86.

Он отлично работал в предыдущих версиях Delphi (последняя версия 10.3.3).

Это ошибка, или что-то изменилось с Delphi 10.4?


constructor TBrDataAccess.Create;
var
  AppDataName: string;
  DBExists: boolean;
begin
  try
    FFDGUIxProvider := 'Console';

    AppDataName := TPath.GetDocumentsPath + PathDelim + GetFileName;

    DBExists := FileExists(AppDataName);

    FConnection:=TFDConnection.Create(nil);
    FConnection.Params.Add('DriverID=SQLite');
    FConnection.Params.Add('Database=' + AppDataName);
    FConnection.Params.Add('OpenMode=CreateUTF8');
    FConnection.Params.Add('DateTimeFormat=String');
    FConnection.Params.Add('LockingMode=Normal');
    FConnection.Params.Add('Synchronous=Normal');
    FConnection.Params.Add('BusyTimeout=7500');
    FConnection.Params.Add('SharedCache=False');

    FConnection.FetchOptions.Mode := fmAll;  // Meget vigtig ved SqLite.

    FConnection.UpdateOptions.LockWait := True;
    FConnection.Connected := true;

    if not DBExists
    then if FConnection.ExecSQLScalar('pragma schema_version;') = 0
    then CreateDb;
  except
    on E : Exception
    do TBrMobileLog.AddLog(TBrLogFileType.LFTDb, 'TBrDataAccess', 'Create', E.Message, True);
  end;
end;

1 Ответ

3 голосов
/ 18 августа 2020

Попробуйте включить FireDA C .Phys.SQLiteWrapper.Stat unit в раздел uses. Большое спасибо da-soft . Теперь Sqlite работает под Android x64.

...