Development Dependencies
Go Up to Android Application
When a native application is build for Android, InterBase expects the following requirements to be set before the application is deployed to the Android Emulator/Device. InterBase works with “android-21” platform targeting ARMv7 devices.
Requirement | RAD/Delphi application with FireDAC/dbExpress/ IBX | RAD/Delphi applications with customer database connectivity |
|
---|---|---|---|
INTERBASE environment variable in application process
InterBase ToGo on Android needs to know the application folder where it can write its temporary files and look for license and other supporting database files. For this, the application needs to copy the InterBase assets to a writable location, and, set INTERBASE env. variable to that location. Typically, this is the "external" storage area for Android NDK apps. For e.g. <package_name> might be "com.example.native_activity" For e.g. /data/data/<package_name>/files Set INTERBASE env. variable to "/data/data/<package_name> /files/interbase" |
This is automatically set by these database components. No need for the application to do anything specific. | Application needs to set this in their initialization code before calling any InterBase api.
You may want to add code similar to the following in your application: {$IFDEF ANDROID}
procedure
SetInterBaseVariable;
var
M: TMarshaller;
begin
setenv('INTERBASE',
M.AsUtf8(GetFilesDir +
PathDelim +
'interbase').ToPointer, 1);
end;
{$ENDIF }
| |
AndroidManifest permissions
InterBase requires certain permissions set in the AndroidManifest file. INTERNET: Allows applications to access network sockets. If you are building Client/Server apps accessing remote InterBase databases, this is a must have. This is also required by InterBase "call home" silent license registration. READ/WRITE EXTERNAL STORAGE: This is the external storage location where InterBase files (including your database files) are delivered for applications to perform read/write operations. |
See Uses Permissions for further details.
Permissions:
|
See Uses Permissions for further details.
Permissions:
| |
Linking dependency on external NDK libraries
In order to support C++ exception handling used by InterBase, the developer needs to link the libstlport_static.a with their application. libstlport_static.a is available at <NDK>/sources/cxx-stl/stlport/libs/armeabi-v7a/ |
This is automatically set by these database components. No need for the application to do anything specific. | Application needs to request the linker to include this library. |