系统在从linux中的c ++调用时返回错误127

命令“ am start -n packagename / .activityname ”必须在adb shell中运行,并将包含在C ++程序中

我在我的C ++程序中添加了行系统(“am start -n packagename / .activityname”) ,当程序在adb shell中运行时,系统命令返回错误码127,而且shell命令没有运行

使用的编译器: arm-linux-none-gnueabi-g ++

当我使用g ++编译器时它的工作

是编译器或path的问题?

实际上,system /()不能在/ bin / sh是bash版本2的系统上使用set-user-ID或set-group-ID权限的程序正常工作,因为bash 2在启动linux.die时会丢弃权限。净/人/ 3 /系统

execl(“/ system / bin / sh”,“sh”,“test.sh”)代替系统

其中test.sh已经开始-n包名/ .activityname ,它的工作原理