繁体   English   中英

Android:在adb shell上执行程序

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM