openatx / uiautomator2

Android Uiautomator2 Python Wrapper
MIT License
6.48k stars 1.39k forks source link

手动Init时com.github.uiautomator报WindowManagerEventInjector is not supported #943

Closed luofengwang closed 4 months ago

luofengwang commented 6 months ago

测试代码: if uiautomator_package in pkglist or uiautomator_test_package in pkglist: os.system("adb -s " + device + " shell /data/local/tmp/atx-agent server --stop") os.system("adb -s " + device + " shell rm /data/local/tmp/atx-agent") os.system("adb -s " + device + " uninstall " + uiautomator_package) os.system("adb -s " + device + " uninstall " + uiautomator_test_package) time.sleep(1) os.system("adb -s " + device + " install -r -t -g " + sys.path[0] + "\uiautomator\" + "app-uiautomator.apk") os.system("adb -s " + device + " install -r -t -g " + sys.path[0] + "\uiautomator\" + "app-uiautomator-test.apk") os.system("adb -s " + device + " push " + sys.path[0] + "\uiautomator\" + "atx-agent " + "/data/local/tmp/") os.system("adb -s " + device + " shell chmod 755 /data/local/tmp/atx-agent") os.system("adb -s " + device + " shell /data/local/tmp/atx-agent server -d") time.sleep(1)

执行后报错日志: 03-19 16:22:00.170 13826 13826 E AndroidRuntime: FATAL EXCEPTION: main logcat.txt

03-19 16:22:00.170 13826 13826 E AndroidRuntime: java.lang.UnsupportedOperationException: WindowManagerEventInjector is not supported 03-19 16:22:00.170 13826 13826 E AndroidRuntime: at com.github.uiautomator.compat.InputManagerWrapper$WindowManagerEventInjector.(InputManagerWrapper.java:100) 03-19 16:22:00.170 13826 13826 E AndroidRuntime: at com.github.uiautomator.compat.InputManagerWrapper.(InputManagerWrapper.java:22) 03-19 16:22:00.170 13826 13826 E AndroidRuntime: at com.github.uiautomator.MinitouchAgent.(MinitouchAgent.java:236) 03-19 16:22:00.170 13826 13826 E AndroidRuntime: at com.github.uiautomator.Console.listenAndServe(Console.java:84) 03-19 16:22:00.170 13826 13826 E AndroidRuntime: at com.github.uiautomator.Console.main(Console.java:70) 03-19 16:22:00.170 13826 13826 E AndroidRuntime: at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method) 03-19 16:22:00.170 13826 13826 E AndroidRuntime: at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:401)

总结: 因为执行脚本时偶现ui apk被杀后自启失败,故增加了卸载重新init操作;采用手动Init操作时,先卸载UI相关环境后再安装ui环境时出现WindowManagerEventInjector is not supported。查找资料发现WindowManagerEventInjector 在Android 12后已经不支持相关方法了,是不是需要对异常代码行进行修复或规避。

感谢大佬们抽空处理!

codeskyblue commented 5 months ago

MinitouchAgent 在最新的版本已经不调用了

codeskyblue commented 4 months ago

相关代码已移除