-
Notifications
You must be signed in to change notification settings - Fork 4
Description
Large parts of GeoDesk's functionality are currently unavailable on Android, due to the following:
-
GeoDesk requires JDK 13 or above (mainly for the absolute bulk operations on
Bytebuffer); Android 13 (latest version as of July 2023) supports only JDK 11 (Android 14 is supposed to support large portions of JDK 17). -
The Query Engine relies on runtime bytecode generation, which is not compatible with Android's Dalvik virtual machine.
Proposed solutions for an Android-compatible release:
-
Reduce minimum JDK level: Create workarounds that avoid the JDK functionality. For example, use relative bulk operations on a
ByteBufferslice (which are less performant than the absolute bulk operations applied directly) -
Enable query execution on Dalvik
a) Generate Dalvik-specific bytecode (could use Dexmaker); or
b) Create a query virtual machine that interprets query IR (slower, but possibly simpler)