安卓:执行亚行外壳程序(Android: Executing a program on adb sh

2019-08-17 06:36发布

我一直在使用创建的可执行文件“中包括$(BUILD_EXECUTABLE)”,在Android.mk命令。 我的要求是为执行在ABD壳可执行产生的上方。

我试过了:

下面是我的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-建立生成以下文件:

projectRoot-> libs-> HelloExecutable

我的工作是执行对亚行外壳上面生成的文件。 所以我第一次将文件推到使用以下命令的SD卡:

ADB推〜/ projectRoot-> libs-> HelloExecutable / SD卡/

现在,我使用切换到亚行壳:$ ADB shell命令(在这里我使用的是仿真器)。

然后我改变权限命令:chmod 777 / SD卡/ HelloExecutable

一旦执行上面的命令,我让我的HelloExecutable文件执行权限。

然后,改变当前工作目录到SD卡。 即CD / SD卡/

现在,当我尝试执行上述文件,我得到以下错误:

# ./HelloExecutable
./HelloExecutable: permission denied

来执行我使用仿真器的上方。 因此,有人可以告诉了上述错误的原因?

我恳请观众来解决上述问题。 等待你的答案。 提前致谢。

Answer 1:

检查你的SD卡安装使用noexec选项。 试试你的文件复制到像/数据另一个分区,并从那里执行它。



文章来源: Android: Executing a program on adb shell