您的位置:首页 > 产品设计 > UI/UE

uiautomator解决设置中文问题

2015-12-01 17:18 363 查看
我们知道通过uiautomator中UiObject.setText(),可以用来设置文本,可是不知什么缘故Google设计的这个方法只能接收ASCII码,因此直接调用这个方法设置中文当然会错,为此有人专门写了输入法utf7ime专门用来解决这个问题,它是开源的,我们可以在github下载到它的源码https://github.com/sumio/uiautomator-unicode-input-helper
    下面我们来一步步实现让uiautomator支持中文
    1.下载完源码解压,如下图
    


    2.在我们刚才解压的Utf7Ime文件中有个Utf7ImeService.java,以及jutf7-1.0.0.jar文件找出来,接下创建一个Android应用程序,将刚才找到的jar包添加到自己的工程,Utf7ImeService.java
这类添加到自己的程序中,它是一个服务,保证运行程序时启动这个服务,最后就可以将这个程序安装到自己的手机中了。
    3.uiautomator工程中添加jutf7-1.0.0.jar文件,在解压的helper-library文件中有个Utf7ImeHelper.java文件,将它放到自己uiautomator工程中,最后调用一下Utf7ImeHelper的方法装换一下编码就ok,如下图:
     


   值得注意的是在调用Utf7ImeHelper.e()方法之前,你要将2中的应用在手机上先设置成默认输入法,当然你也可用adb命令设置默认的输入法。
   还有就是Utf7ImeHelper中的harsetEncoder是jutf7-1.0.0.jar中的,别导错包。
   这样uiautomator就可以设置中文了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: