遇到Android5.0.2系统上面使用uiautomator dump 命令生成的xml文件中文乱码,其它4.4以及5.1都没有这个问题,百度没找到任何解决方案,stackoverflow也没有,自己猜测百分之百肯定是源码有问题,对比Android5.0.2与4.4的源码得出,在/frameworks/testing/uiautomator/library/core-src/com/android/uiautomator/core/AccessibilityNodeInfoDumper.java的private static String stripInvalidXMLChars(CharSequence cs)方法存在差异,改方法就是将传入的字符转换为字符串,如下是差异对比:
大家可以看出,左边为5.0.2的源码,明显方法中只支持英文字符,其它字符统统返回问号,解决方法也很简单,就是修改该方法,然后重新编译刷机,自己测试中文正常显示。知道原因,解决问题,over。