Besides, why does it access a shared memory at that point? We do use it but only for waiting for server (later).
It may be some issue with Boost. I don’t know how well Boost supports Android ATM but if I remember correctly, Pelya when building his port had also ported significant parts of it.
After pressing start, client starts server and waits till it’s ready. Please check if VCMI_server is process started? Does it create VCMI_Server_log.txt (and if — what does it say)?