有趣的安卓桌面融合器
近日,历时1个月的时间,弄好了安卓系统的桌面融合,就是对方方正正的输出进行网格任意变形,边缘羽化。主要用于中小型的互动投影。
目前对安卓5.1(RK3288),6.0(MSTAR),7.1(RK3399)真机测试通过。而且能修改rc启动脚本,在不需要重新编译系统下实现开启启动需要root权限的。
技术实现其实都是常用的手段:对surfaceflinger进行hook,替换eglSwapBuffers函数进行二次渲染处理。只是整个过程颇为波折,老以为自己没搞懂section header的跳来跳去,花了不好时间研究。其实是网上的资料(特别是中文的)太旧了,讲的都是以前的机构。对于6.0.7.0的安卓很多不适用了,还是要靠灵活的思维,不断的尝试。
函数感谢这位楼主的贡献,64位系统的指引:
https://blog.csdn.net/liao0000/article/details/45482453