命令“am start -n packagename/.activityname”必须在 adb shell 中运行并且包含在 C++ 程序中
我在我的 C++ 程序中添加了 system("am start -n packagename/.activityname") 行,当程序在 adb shell 中运行时, 系统命令返回错误代码 127 并且 shell 命令未运行
使用的编译器:arm-linux-none-gnueabi-g++
它在我使用 g++ 编译器时工作
是编译器的问题还是路径的问题?
最佳答案
system() 实际上,在/bin/sh 是 bash 版本 2 的系统上,具有 set-user-ID 或 set-group-ID 权限的程序无法正常工作,因为 bash 2 会在启动 linux 时放弃权限.die.net/man/3/system
我使用的不是系统 execl("/system/bin/sh","sh","test.sh")
其中 test.sh 有 am start -n packagename/.activityname 并且有效
关于android - 在 Linux 中从 C++ 调用时系统返回错误 127,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24380594/