【问题标题】:Run a native C program on unrooted Android device在无根的 Android 设备上运行本机 C 程序
【发布时间】:2014-01-31 07:13:23
【问题描述】:

在阅读How do I build a native (command line) executable to run on Android? 之后,我设法为 Android 构建了一个本机可执行文件,但我无法在我的无根手机上执行它,它给出了

/system/bin/sh: /storage/sdcard0/Download/hello_world: 无法执行:权限被拒绝

因为SD卡上挂载了noexec,其他地方我写不出来了。

【问题讨论】:

    标签: android c


    【解决方案1】:

    我找到了一个适合我的解决方案 - 似乎 /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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多