我在阅读How do I build a native (command line) executable to run on Android?之后设法为Android构建了一个原生可执行文件,但是我无法在我的无根电话上执行它,它提供了
/ system / bin / sh:/ storage / sdcard0 / Download / hello_world:无法执行:权限被拒绝
因为SD卡上安装了noexec
,我无法在其他任何地方写入。
答案 0 :(得分:5)
我找到了一个适合我的解决方案 - 似乎/data/local/tmp
是可写的,而且它不在noexec
分区上。
解决方案需要使用adb
。我通过USB连接手机,并从开发人员选项中启用了USB调试。
然后我使用以下方法将文件上传到手机:
adb push C:\Workspace\hello_world\libs\armeabi\hello_world /data/local/tmp/hello_wo
rld
然后我运行了adb shell:
adb shell
从中我改变了写入权限,然后运行它:
chmod 755 /data/local/tmp/hello_world
/data/local/tmp/hello_world