1

'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.

tux_mind
  • 306
  • 1
  • 5
  • 15

0 Answers0