've successfully cross compiled ruby for android and everything goes ok in the emulator.
but while i'm testing these funny things on my device ( Nexus4 ) i noticed that /sdcard ( or /storage/emulated/0 ) is a fuse mount with no execution permissions.
how can i execute something on the sdcard?
i saw that on linux you can pass it as argument to the linker, in android this does not work, /system/bin/linker want a pointer to a special struct, i believe that i can write a small c program that create that structure and run the linker to execute a readable program.
but what about shared libraries? ruby load tens of shared libraries ( everytime you have a require
), i bet that execute permissions are required for loading shared libraries.
moving the executable to /data/data/my.app.name/files/
or any other place is not a solution, my binaries are very fat ( statically linked ) and users should be free to specify any location where storing them.
thanks in advance for any help.