我用C写了一个“hello,world”的简单程序(roid_test),编译不会有错,因为使用了和编译操作系统一样的编译器,我把程序拷贝到SD卡里,然后放到开发板上,想通过终端来跑这个roid_test,系统提示“permission denied”,我想问问大家是android不支持我这种C代码调用吗?没道理啊!原理上,insmod,ls这些命令和我的roid_test是一种类型的程序!实际操作如下:望前辈指点
====================================================================
# ./roid_test
./roid_test: permission denied
# chmod +x roid_test
Bad mode
# chmod +x ./roid_test
Bad mode
# chmod 777 ./roid_test
# ./roid_test
./roid_test: permission denied
# ls -l
-rwxrwxrwx root root 6466 2012-04-25 15:21 roid_test
====================================================================
====================================================================
# ./roid_test
./roid_test: permission denied
# chmod +x roid_test
Bad mode
# chmod +x ./roid_test
Bad mode
# chmod 777 ./roid_test
# ./roid_test
./roid_test: permission denied
# ls -l
-rwxrwxrwx root root 6466 2012-04-25 15:21 roid_test
====================================================================
我刚刚搜了搜,要用su运行,我这么做了,程序运行了,但是没有看到“hello,world”。我在想是不是打印到别的位置去了??效果如下:
============控制台效果start===============
#su ./roid_test
#
============控制台效果end===============
arm-eabi-gcc 不是随便编译出来的二进制就可以成功运行在android上的。说明你没有按照编译规范去编译,所以程序根本没有执行。
具体的编译规范仔细看:build/core/combo/下有 linux_arm.mk
其次,你需要获得运行权限。Android 有自己的权限管理,不完全等同于Linux。如果你感兴趣,可用参看Android源码,在system/core/include/private/android_filesystem_config.h下有相关的代码。
最后,如果要在真机上运行,你需要获得root权限,这个内容网上很多,你自己搜索一下。
可是每当我chmod +x helloworld的时候 在总是提示说:Bad mode ;请教下为什么,怎么修改,谢谢了