在未经验证的Android设备上运行本机C程序

 我是个密_916 发布于 2023-01-30 11:19

在阅读了如何构建在Android上运行的本机(命令行)可执行文件后,我设法为Android 构建了一个本机可执行文件?但我不能在我的无根电话上执行它

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

因为SD卡已安装noexec,我无法在其他任何地方写入.

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
    

    2023-01-30 11:21 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有