[英]Android: Executing a program on adb shell
我已经在Android.mk中使用“ include $(BUILD_EXECUTABLE)”命令创建了一个可执行文件。 我的要求是在abd shell上执行上面生成的可执行文件。
我试过了:
以下是使用ndk-build命令编译的我的C代码:
#include <stdio.h>
int main()
{
printf("\n\nHello World\n\n");
return 0;
}
以下是我的Android.mk文件内容:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := HelloExecutable
LOCAL_SRC_FILES := hello.c
include $(BUILD_EXECUTABLE)
当我执行命令ndk-build时,将生成以下文件:
projectRoot->库-> HelloExecutable
我的工作是在adb shell上执行上面生成的文件。 因此,我首先使用以下命令将文件推送到sdcard:
亚行推送〜/ projectRoot-> libs-> HelloExecutable / sdcard /
现在,我使用以下命令切换到adb shell: $ adb shell命令(此处使用仿真器)。
然后,我将权限更改为: chmod 777 / sdcard / HelloExecutable
一旦执行了以上命令,我便获得了我的HelloExecutable文件的执行权限。
然后将当前工作目录更改为sdcard。 即cd / sdcard /
现在,当我尝试执行上述文件时,出现以下错误:
# ./HelloExecutable
./HelloExecutable: permission denied
为了执行上述操作,我使用了模拟器。 那么有人可以告诉上面错误的原因吗?
我恳请观众解决上述问题。 等待您的答案。 提前致谢。
检查您的SD卡是否安装了noexec
选项。 尝试将文件复制到另一个分区(例如/ data),然后从那里执行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.