自从我使用 C 以来已经很久了,所以我为这个简单的问题道歉。
我正在 armeabi-v7a 设备上使用 GPIO。我需要从 android 应用程序中将 GPIO 接口导出到用户空间,并且我正在尝试从 JNI 库中这样做。
要从终端执行此操作,我只需运行echo 199 > /sys/class/gpio/export
但我需要从 JNI 做它:(
我当前的尝试看起来像这样(带有一些错误处理),但不起作用:
JNIEXPORT jboolean JNICALL Java_com_rnd_touchpanel_LED_exportGreen
(JNIEnv * je, jclass jc)
{
freopen("/sys/class/gpio/export", "w+", stdout);
printf("198");
fclose(stdout);
return JNI_TRUE;
}
然后我意识到导出实际上是二进制文件,而不仅仅是一个文件,而且我忘记了如何生成新进程并向它们发送输入等等。有人可以刷新我的记忆吗?谢谢!