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 ByteBuffer slice (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)
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)