Jump to content
bzwirs

Firebird database on Android

Recommended Posts

Delphi 12 with latest updates.

 

I want to use a firebird database on android device.  Firebird supply a 'Firebird-5.0.0.1306-0-android-arm64.tar.gz' file for working with android but no information on how to use the files contained therein.  Can anybody please point me in the right direction on examples on how to achieve this,  

 

Thanks in advance

 

Bill Zwirs

Share this post


Link to post

I would suggest to use SQLite on a mobile device rather than FirebirdSQL if you do really need to save some data on the device itself.

Is there any particular reason you want to use FirebirdSQL?

  • Like 1

Share this post


Link to post
5 hours ago, bzwirs said:

Firebird supply a 'Firebird-5.0.0.1306-0-android-arm64.tar.gz' file

It looks like the only mention of Android support is in the Version 5.0 Release Notes; there are a couple of references to Android which link to source check-ins. I'd follow those and ask the authors.

 

But it still appears so new that there would likely be a lot of bumps to get it deployed. You might consider using Interbase Embedded (IB Mobile), which has a similar structure and is free to distribute on mobile devices for any D12 edition.

Share this post


Link to post

I don't think you could install a FirebirdSQL server on an Android, but you can use FirebirdSQL Database in embedded mode, that way you don't need to install Firebird on android device and use only the library, e.g. you will have 2 files, one is the database and one is the library.

Share this post


Link to post

Thank you all for your responses.  Think I'll use sqlite this time and wait a bit longer for Firebird.

 

thanks

 

Bill

Share this post


Link to post

I used the windows embedded firebird a few months ago... I think it should be a similar process for Android... You will need to untar/gz the file.... ensure the deployment deploys all the files with your app. The trick is with the whatever driver to map onto libfbclient.so/dll .

it is similar to using sqlite in being embedded...

Share this post


Link to post

A few notices:

 

If you try Firebird Embedded on Android 14, use snapshot build (5.0.1). Version 5.0.0 crashes there (4.0.4 also). https://github.com/FirebirdSQL/firebird/issues/8110

 

I have used their .aar file - renamed to .zip an extracted files manually. In Deployment manager:

All files from .aar\jni\arm64-v8a -> library\lib\arm64-v8a\

 

Files from .aar\assets\firebird I put in one .zip file, which is in Deployment Manager put to assets\internal

In runtime I unzip them to tPath.Combine(tPath.GetHomePath, 'fbasset')

 

In runtime, before using FB client, I set environment variables:

SetEnvironmentVariable('FIREBIRD_TMP', TmpDir);
SetEnvironmentVariable('FIREBIRD_LOCK', TmpDir);
SetEnvironmentVariable('FIREBIRD', tPath.Combine(tPath.GetHomePath, 'fbasset'));

 

Firebird client is then loaded from:

tPath.Combine(tPath.GetLibraryPath, 'libfbclient.so')

  • Thanks 1

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×