下层有一个C写的linux进程,app层是Java写的进程,两者之间进行通信,最好是直接发消息。找了一天的资料,没有发现相关的做法。高手出招吧

解决方案 »

  1.   


    你所说的两者间通信指的是app和process?
      

  2.   

    socket应该可以 。
      整个Android的进程通信是基于Binder驱动的 ,C实现。同样 , 也给上层提供了接口。
    LZ可以看看这部分的代码 
      

  3.   

    Binder是Android推荐的进程间通讯方式,相对于socket而言,应该效率更高。
      

  4.   


    JNi不能用于java进程和C进程通讯吧?
    是两个不同的进程啊
      

  5.   

    呵呵,给你说个曲线的,模拟win32的共享内存了,就是对一个文件进行处理,效率底下,但绝对ok的,呵呵
      

  6.   

    你下面c是一个进程,上面通过JNI使Java代码能够访问c代码,再用linux的system函数调用你的那个c进程,就ok了!