背景
App调用Native的一种方式,即Java通过JNI调用C,App可以获得底层的服务。
总的来说,在Android的Linux底层以C++实现一个服务,提供网络和计算服务;在Android的Framework层以C/C++实现Binder通信,并编译成so库;最后以JNI实现so的调用,封装成对应用层暴露的接口。
1 本方案达到了App调用Native进程的目的,同时不需要修改Framework源码。
2 在本方案中实现了通过Binder传递接口对象,使得client可以在给server发送消息,并且可以通过传递的接口接收到server的通知消息。
3 使用了Binder方式作为跨进程通信。