'已经成功交叉编译了 ruby for android 并且在模拟器中一切正常。
但是当我在我的设备(Nexus4)上测试这些有趣的东西时,我注意到 /sdcard (或 /storage/emulated/0 )是一个没有执行权限的保险丝安装。
如何在 sdcard 上执行某些操作?
我看到在 linux 上你可以将它作为参数传递给链接器,在 android 中这不起作用,/system/bin/linker 想要一个指向特殊结构的指针,我相信我可以编写一个小的 c 程序来创建该结构并运行链接器以执行可读程序。
但是共享库呢?ruby 加载数十个共享库(每次你有一个require
),我敢打赌加载共享库需要执行权限。
将可执行文件移动到/data/data/my.app.name/files/
或任何其他地方都不是解决方案,我的二进制文件非常胖(静态链接),用户应该可以自由指定存储它们的任何位置。
提前感谢您的帮助。