我已經使用「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