Development Dependencies
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-9” 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
begin
M.AsUtf8(GetFilesDir +
PathDelim +
'interbase').ToPointer, 1); | |
| 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 http://docwiki.embarcadero.com/RADStudio/XE7/en/Uses_Permissions for further details.
Permissions:
|
See http://docwiki.embarcadero.com/RADStudio/XE7/en/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. |