Android Event事件回放功能通過(guò)adb shell getevent和sendevent也能做到,但是需要Root,所以這個(gè)方案基本上可以排除了。
接下來(lái)想到了QtScrcpy這個(gè)開源項(xiàng)目,可以在PC端操作手機(jī),那么肯定是可以記錄PC端操作的Android Event事件的,那么也可以自動(dòng)發(fā)送修改對(duì)應(yīng)的事件,所以可以在這個(gè)項(xiàng)目的源碼基礎(chǔ)上進(jìn)行修改添加Android Event事件回放對(duì)比功能。
關(guān)于QtScrcpy項(xiàng)目可以點(diǎn)擊查看>>QtScrcpy中文文檔
接下來(lái)就是在QtScrcpy的源碼中修改添加對(duì)應(yīng)的功能了。
1.保存ControlMsg,只針對(duì)Touch和KeyCode事件,使用轉(zhuǎn)json格式的文本文件方式保存。
2.保存每次事件之間的指定位置截圖,也是使用json保存,用來(lái)對(duì)比回放該事件時(shí)的界面是否正常。
3.讀取解析保存的json文本文件,用作回放和對(duì)比指定截圖的操作。
4.對(duì)比截圖使用的opencv,相識(shí)度可以根據(jù)需要自行調(diào)整。
5.還可以根據(jù)自己的需求開發(fā)出其他用法。
具體修改方式和項(xiàng)目代碼已上傳GitHub,需要的可以自行下載編譯學(xué)習(xí)使用
項(xiàng)目代碼>>ReplayQtScrcpy