android 系统源码中(或Android应用程序中)怎么调用C语言代码

android 系统源码中(或Android应用程序中)如何调用C语言代码?

android 系统源码中(或Android应用程序中)如何调用以下C语言代码?


触摸屏驱动中的C代码:
  int key_val;
  ...
key_val = 172;
input_report_key(data->input_dev, key_val, 1);
input_sync(data->input_dev);  
  ...  


------解决方案--------------------
ndk可以运行c代码。网上搜索至少有几百个很详细的例子。
------解决方案--------------------
探讨

如果是驱动里的代码,转的还要更多

App (Java) -> Framework(Java) ---> libs -> HAL -> fs上的设备节点
JNI |
| (System call……

------解决方案--------------------
HAL --> fs上的设备节点 --(sys calls)-> Linux driver

设备节点就是文件
------解决方案--------------------
参照一下Android系统架构图
------解决方案--------------------
探讨

HAL --> fs上的设备节点 --(sys calls)-> Linux driver

设备节点就是文件

------解决方案--------------------
activity -> onTouch() -> viewManager -> windowManagerService -> inputManager -> JNI -> native inputManager -> inputDispatcher -> inputReader -> eventHub -> linux input system -> vfs -> char fs-> your driver......