我已经使用“include $(BUILD_EXECUTABLE)”命令在Android.mk中创建了一个可执行文件。 我的要求是通过abd shell执行上面生成的可执行文件。Android:在adb外壳上执行程序
我想:
下面是我的C代码这是使用NDK-build命令编译:
#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 f ollowing文件中生成:
projectRoot-> libs->HelloExecutable
我的工作是执行对亚行外壳上面生成的文件。
ADB推〜/ projectRoot-> libs-> HelloExecutable/SD卡/
现在我使用切换到ADB壳:$ ADB壳,所以我首先使用以下命令中的文件推到SD卡命令(这里我使用一个模拟器)。
然后我改变权限为:CHMOD 777/SD卡/ HelloExecutable
一旦执行上述命令,为我的HelloExecutable文件执行权限。
然后将当前工作目录更改为sdcard。即CD/SD卡/
现在,当我尝试执行上述文件,我得到以下错误:
# ./HelloExecutable
./HelloExecutable: permission denied
执行上述我使用的仿真器。那么有人可以告诉上述错误的原因吗?
我恳请观众解决上述问题。等待你的答案。提前致谢。
我该如何检查noexec选项?如果启用,那我该如何禁用它? – Zax 2013-03-04 01:07:34
运行“mount”命令并查看SD卡分区是否包含“noexec”选项。 – 2013-03-05 00:54:46