自己开发手机协同软件支持多窗口了

背景

以前特别项目miui+的多窗口技术,觉得非常NB,自己研究好久总算开发出来了,其中遇到好多坑,还好自己都解决了。目前Scrcpy是不支持的,我可能是国内第一个真正支持的。我通过反射创建虚拟virtual display ,同时可以监听支持APP旋转。

效果图

斗鱼是单独app和一个主窗口,可以无限多个APP,只要手机支持的话,我自己测试跑到6APP,后面就没有测试了,miui+ 限制3个,可能怕手机性能不足导致问题。

总结

逆向miui+ 知道反射哪个函数,scrcpy 目前是不支持,等哪天我代码整理可以发布出来,目前含有太多测试代码和一些不规范代码。
win32开发界面感觉不是那么方便,当初就是为了体验一下以前开发界面的方式,不然直接就用duilib库去开发了。

虚拟display 有的APP不支持,但腾讯视频是支持,但miui+设置了黑名单里面,不知道为什么。

app名字获取,我目前通过解析应用宝,小米商店,库安解析获取的。分析半天发现读取资源太麻烦,看了半天绕来绕去的,感觉理论上应该可以解决,因为市面多开都是动态加载APK,反射资源类读取资源,只是app_process稍微不一样,更加底层,全部靠binder来操作,必须自己封装才可以。。。