我使用 execl 从本机代码运行 x264 命令行编码器:
execl("/bin/sh", "sh", "-c", "/data/data/com.mycompany.myapp/files/components/x264enc5/x264enc5", NULL);
它在设备(带有 Android 4.2.2 的 Nexus 7)上运行良好,但在模拟器上(试过 4.0.3 和 4.2.2)我在日志中得到了这个:
F/libc (783): 致命信号 4 (SIGILL) 在 0x00000000 (code=268435456)
我/调试(34):** * ** * ** * ** * *
I/DEBUG(34):构建指纹:'generic/sdk/generic:4.0.4/MR1/302030:eng/test-keys'
I/DEBUG (34): pid: 783, tid: 783 >>> /data/data/com.mycompany.myapp/files/components/x264enc5/x264enc5 <<<
I/DEBUG (34):信号 4 (SIGILL),代码 1 (ILL_ILLOPC),故障地址 000c3d68
有谁知道这个问题的可能原因是什么?